From 6293d9570cfe1997a87d50a54af5739a5f8b1d52 Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Wed, 13 Jul 2022 13:34:11 -0400 Subject: [PATCH] Remove various non-Matter clusters from Matter XML. This removes clusters that are not part of Matter core or appclusters specs from the XML files Matter pulls in. --- .../rootnode_thermostat_bm3fb8dhYi.matter | 16 - .../zcl/data-model/silabs/general.xml | 153 - .../zcl/data-model/silabs/ha.xml | 990 - .../zcl/data-model/silabs/types.xml | 101 - .../python/chip/clusters/Objects.py | 31976 +++++--------- .../CHIP/zap-generated/MTRBaseClusters.h | 64 - .../CHIP/zap-generated/MTRCallbackBridge.mm | 213 - .../MTRCallbackBridge_internal.h | 247 - .../CHIP/zap-generated/MTRClusterConstants.h | 679 - .../zap-generated/MTRCommandPayloadsObjc.h | 1182 - .../zap-generated/MTRCommandPayloadsObjc.mm | 1028 - .../CHIP/zap-generated/MTRStructsObjc.h | 27 - .../CHIP/zap-generated/MTRStructsObjc.mm | 79 - .../app-common/zap-generated/af-structs.h | 27 - .../app-common/zap-generated/attribute-id.h | 509 - .../zap-generated/attributes/Accessors.cpp | 28113 ++++-------- .../zap-generated/attributes/Accessors.h | 2153 +- .../app-common/zap-generated/callback.h | 8292 +--- .../zap-generated/callbacks/PluginCallbacks.h | 86 - .../app-common/zap-generated/cluster-enums.h | 207 - .../app-common/zap-generated/cluster-id.h | 129 - .../zap-generated/cluster-objects.cpp | 17804 +++----- .../zap-generated/cluster-objects.h | 36219 ++++++---------- .../app-common/zap-generated/command-id.h | 62 - .../app-common/zap-generated/enums.h | 14 - .../app-common/zap-generated/ids/Attributes.h | 2338 +- .../app-common/zap-generated/ids/Clusters.h | 129 - .../app-common/zap-generated/ids/Commands.h | 236 - .../app-common/zap-generated/print-cluster.h | 364 +- .../PluginApplicationCallbacks.h | 1 - .../zap-generated/callback-stub.cpp | 8 - .../zap-generated/endpoint_config.h | 41 +- .../zap-generated/gen_config.h | 6 - .../zap-generated/cluster/Commands.h | 15931 +++---- .../cluster/ComplexArgumentParser.cpp | 114 - .../cluster/ComplexArgumentParser.h | 12 - .../cluster/logging/DataModelLogger.cpp | 120 - .../cluster/logging/DataModelLogger.h | 6 - .../zap-generated/cluster/Commands.h | 43 - 39 files changed, 48295 insertions(+), 101424 deletions(-) diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter index 282bc79e226418..086a3db0aa36c8 100644 --- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter +++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter @@ -218,14 +218,6 @@ server cluster Scenes = 5 { command GetSceneMembership(GetSceneMembershipRequest): GetSceneMembershipResponse = 6; } -server cluster Alarms = 9 { - readonly attribute command_id generatedCommandList[] = 65528; - readonly attribute command_id acceptedCommandList[] = 65529; - readonly attribute attrib_id attributeList[] = 65531; - readonly attribute bitmap32 featureMap = 65532; - readonly attribute int16u clusterRevision = 65533; -} - server cluster Descriptor = 29 { struct DeviceType { devtype_id type = 0; @@ -1855,14 +1847,6 @@ endpoint 1 { ram attribute clusterRevision default = 3; } - server cluster Alarms { - callback attribute generatedCommandList; - callback attribute acceptedCommandList; - callback attribute attributeList; - ram attribute featureMap; - ram attribute clusterRevision default = 1; - } - server cluster Descriptor { callback attribute deviceList; callback attribute serverList; diff --git a/src/app/zap-templates/zcl/data-model/silabs/general.xml b/src/app/zap-templates/zcl/data-model/silabs/general.xml index a44c64a6debc8d..d384934248d8eb 100644 --- a/src/app/zap-templates/zcl/data-model/silabs/general.xml +++ b/src/app/zap-templates/zcl/data-model/silabs/general.xml @@ -89,91 +89,6 @@ limitations under the License. - - Power Configuration - General - Attributes for determining more detailed information about a device's power source(s), and for configuring under/over voltage alarms. - 0x0001 - POWER_CONFIG_CLUSTER - true - true - - mains voltage - mains frequency - mains alarm mask - mains voltage min threshold - mains voltage max threshold - mains voltage dwell trip - battery voltage - battery percentage remaining - battery manufacturer - battery size - battery ahr rating - battery quantity - battery rated voltage - battery alarm mask - battery voltage min threshold - battery voltage threshold 1 - battery voltage threshold 2 - battery voltage threshold 3 - battery percentage min threshold - battery percentage threshold 1 - battery percentage threshold 2 - battery percentage threshold 3 - battery alarm state - battery 2 voltage - battery 2 percentage remaining - battery 2 manufacturer - battery 2 size - battery 2 ahr rating - battery 2 quantity - battery 2 rated voltage - battery 2 alarm mask - battery 2 voltage min threshold - battery 2 voltage threshold 1 - battery 2 voltage threshold 2 - battery 2 voltage threshold 3 - battery 2 percentage min threshold - battery 2 percentage threshold 1 - battery 2 percentage threshold 2 - battery 2 percentage threshold 3 - battery 2 alarm state - battery 3 voltage - battery 3 percentage remaining - battery 3 manufacturer - battery 3 size - battery 3 ahr rating - battery 3 quantity - battery 3 rated voltage - battery 3 alarm mask - battery 3 voltage min threshold - battery 3 voltage threshold 1 - battery 3 voltage threshold 2 - battery 3 voltage threshold 3 - battery 3 percentage min threshold - battery 3 percentage threshold 1 - battery 3 percentage threshold 2 - battery 3 percentage threshold 3 - battery 3 alarm state - - - Device Temperature Configuration - General - Attributes for determining information about a device's internal temperature, and for configuring under/over temperature alarms. - 0x0002 - DEVICE_TEMP_CLUSTER - true - true - current temperature - min temp experienced - max temp experienced - over temp total dwell - device temp alarm mask - low temp threshold - high temp threshold - low temp dwell trip point - high temp dwell trip point - Groups General @@ -365,74 +280,6 @@ limitations under the License. - - Alarms - General - Attributes and commands for sending notifications and configuring alarm functionality. - 0x0009 - ALARM_CLUSTER - true - true - alarm count - - - Command description for ResetAlarm - - - - - - - Command description for ResetAllAlarms - - - - - Command description for GetAlarm - - - - - Command description for ResetAlarmLog - - - - - Command description for Alarm - - - - - - - Command description for GetAlarmResponse - - - - - - - - - Time - General - Attributes and commands that provide a basic interface to a real-time clock. - 0x000A - TIME_CLUSTER - true - true - - time - time status - time zone - dst start - dst end - dst shift - standard time - local time - last set time - valid until time - Binary Input (Basic) General diff --git a/src/app/zap-templates/zcl/data-model/silabs/ha.xml b/src/app/zap-templates/zcl/data-model/silabs/ha.xml index 58fe67cbca289a..f9a9598533f43c 100644 --- a/src/app/zap-templates/zcl/data-model/silabs/ha.xml +++ b/src/app/zap-templates/zcl/data-model/silabs/ha.xml @@ -26,25 +26,6 @@ limitations under the License. - - Shade Configuration - Closures - Attributes and commands for configuring a shade. - 0x0100 - SHADE_CONFIG_CLUSTER - true - true - physical closed limit - - motor step size - - status - - closed limit - - mode - - Fan Control HVAC @@ -108,23 +89,6 @@ limitations under the License. - - Dehumidification Control - HVAC - An interface for controlling dehumidification. - 0x0203 - DEHUMID_CONTROL_CLUSTER - true - true - relative humidity - dehumidification cooling - RH dehumidification setpoint - relative humidity mode - dehumidification lockout - dehumidification hysteresis - dehumidification max cool - relative humidity display - Thermostat User Interface Configuration HVAC @@ -480,546 +444,6 @@ limitations under the License. - - Carbon Monoxide Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the measurement of carbon monoxide concentration and reporting concentration measurements. - 0x040C - CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Carbon Dioxide Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the carbon diaoxide concentration and reporting concentration measurements. - 0x040D - CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Ethylene Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Ethylene concentration and reporting concentration measurements. - 0x040E - ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Ethylene Oxide Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Ethylene Oxide concentration and reporting concentration measurements. - 0x040F - ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Hydrogen Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Hydrogen concentration and reporting concentration measurements. - 0x0410 - HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Hydrogen Sulphide Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Hydrogen Sulphide concentration and reporting concentration measurements. - 0x0411 - HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Nitric Oxide Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Nitric Oxide concentration and reporting concentration measurements. - 0x0412 - NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Nitrogen Dioxide Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Nitrogen Dioxide concentration and reporting concentration measurements. - 0x0413 - NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Oxygen Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Oxygen concentration and reporting concentration measurements. - 0x0414 - OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Ozone Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Ozone concentration and reporting concentration measurements. - 0x0415 - OZONE_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Sulfur Dioxide Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Sulphur Dioxide concentration and reporting concentration measurements. - 0x0416 - SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Dissolved Oxygen Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Dissolved Oxygen concentration and reporting concentration measurements. - 0x0417 - DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Bromate Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Bromate concentration, and reporting concentration measurements. - 0x0418 - BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Chloramines Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Chloramines concentration and reporting concentration measurements. - 0x0419 - CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Chlorine Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Chlorine concentration and reporting concentration measurements. - 0x041A - CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Fecal coliform and E. Coli Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Fecal coliform and E. Coli concentration and reporting concentration measurements. - 0x041B - FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Fluoride Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Fluoride concentration and reporting concentration measurements. - 0x041C - FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Haloacetic Acids Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Haloacetic Acids concentration and reporting concentration measurements. - 0x041D - HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Total Trihalomethanes Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Total Trihalomethanes concentration and reporting concentration measurements. - 0x041E - TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Total Coliform Bacteria Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Total Coliform Bacteria concentration and reporting concentration measurements. - 0x041F - TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Turbidity Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Turbidity concentration and reporting concentration measurements. - 0x0420 - TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Copper Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Copper concentration and reporting concentration measurements. - 0x0421 - COPPER_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Lead Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Lead concentration and reporting concentration measurements. - 0x0422 - LEAD_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Manganese Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Manganese concentration and reporting concentration measurements. - 0x0423 - MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Sulfate Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Sulfate concentration and reporting concentration measurements. - 0x0424 - SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Bromodichloromethane Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Bromodichloromethane concentration and reporting concentration measurements. - 0x0425 - BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Bromoform Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Bromoform concentration and reporting concentration measurements. - 0x0426 - BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Chlorodibromomethane Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Chlorodibromomethane concentration and reporting concentration measurements. - 0x0427 - CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Chloroform Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Chloroform concentration and reporting concentration measurements. - 0x0428 - CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - - - Sodium Concentration Measurement - Measurement & Sensing - Attributes and commands for configuring the Sodium concentration and reporting concentration measurements. - 0x0429 - SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - Barrier Control Closures @@ -1050,420 +474,6 @@ limitations under the License. - - Appliance Control - General - This cluster provides an interface to remotely control and to program household appliances. - 0x001B - APPLIANCE_CONTROL_CLUSTER - true - true - start time - finish time - remaining time - - - This basic message is used to remotely control and to program household appliances. - - - - - - This basic message is used to retrieve Household Appliances status. - - - - - This basic message is used to set appliance functions, i.e. information regarding the execution of an appliance cycle. Condition parameters such as start time or finish time information could be provided through this command. - - - - - - - - This command shall be used to resume the normal behavior of a household appliance being in pause mode after receiving a Overload Pause command. - - - - - This command shall be used to pause the household appliance as a consequence of an imminent overload event. - - - - - This basic message is used to send warnings the household appliance as a consequence of a possible overload event, or the notification of the end of the warning state. - - - - - - This command shall be used to return household appliance status, according to Appliance Status Values and Remote Enable Flags Values. - - - - - - - - - This command shall be used to return household appliance status, automatically when appliance status changes. - - - - - - - - - Power Profile - General - This cluster provides an interface for transferring power profile information from a device (e.g. Whitegood) to a controller (e.g. the Home Gateway). The Power Profile transferred can be solicited by client side (request command) or can be notified directly from the device (server side). - 0x001A - POWER_PROFILE_CLUSTER - true - true - total profile num - multiple scheduling - energy formatting - energy remote - schedule mode - - - The PowerProfileRequest Command is generated by a device supporting the client side of the Power Profile cluster in order to request the Power Profile of a server device. - - - - - - The PowerProfileStateRequest Command is generated in order to retrieve the identifiers of current Power Profiles. - - - - - The GetPowerProfilePriceResponse command allows a device (client) to communicate the cost associated to the selected Power Profile to another device (server) requesting it. - - - - - - - - - The GetOverallSchedulePriceResponse command allows a device (client) to communicate the overall cost associated to all Power Profiles scheduled to another device (server) requesting it. - - - - - - - - The EnergyPhasesScheduleNotification Command is generated by a device supporting the client side of the Power Profile cluster in order to schedule the start of the selected Power Profile and its phases. - - - - - - - - This command is generated by the client side of Power Profile cluster as a reply to the EnergyPhasesScheduleRequest command. - - - - - - - - The PowerProfileScheduleConstraintsRequest Command is generated by a device supporting the client side of the Power Profile cluster in order to request the constraints -if set- of Power Profile of a client device, in order to set the proper boundaries for the scheduling when calculating the schedules. - - - - - - The EnergyPhasesScheduleStateRequest Command is generated by a device supporting the client side of the Power Profile cluster to check the states of the scheduling of a power profile, which is supported in the device implementing the server side of Power Profile cluster. - - - - - - The Get Power Profile Price Extended Response command allows a device (client) to communicate the cost associated to all Power Profiles scheduled to another device (server) requesting it according to the specific options contained in the Get Power Profile Price Extended Response. - - - - - - - - - The PowerProfileNotification Command is generated by a device supporting the server side of the Power Profile cluster in order to send the information of the specific parameters (such as Peak power and others) belonging to each phase. - - - - - - - - - This command is generated by the server side of Power Profile cluster as a reply to the PowerProfileRequest command. - - - - - - - - - The PowerProfileStateResponse command allows a device (server) to communicate its current Power Profile(s) to another device (client) that previously requested them. - - - - - - - The GetPowerProfilePrice Command is generated by the server (e.g. White goods) in order to retrieve the cost associated to a specific Power profile. - - - - - - The PowerProfileStateNotification Command is generated by the server (e.g. White goods) in order to update the state of the power profile and the current energy phase. - - - - - - - The GetOverallSchedulePrice Command is generated by the server (e.g. White goods) in order to retrieve the overall cost associated to all the Power Profiles scheduled by the scheduler (the device supporting the Power Profile cluster client side) for the next 24 hours. - - - - - The EnergyPhasesScheduleRequest Command is generated by the server (e.g. White goods) in order to retrieve from the scheduler (e.g. Home Gateway) the schedule (if available) associated to the specific Power Profile carried in the payload. - - - - - - The EnergyPhasesScheduleStateResponse Command is generated by the server (e.g. White goods) in order to reply to a EnergyPhasesScheduleStateRequest command about the scheduling states that are set in the server side. - - - - - - - - The EnergyPhasesScheduleStateNotification Command is generated by the server (e.g. White goods) in order to notify (un-solicited command) a client side about the scheduling states that are set in the server side. - - - - - - - - The PowerProfileScheduleConstraintsNotification Command is generated by a device supporting the server side of the Power Profile cluster to notify the client side of this cluster about the imposed constraints and let the scheduler (i.e. the entity supporting the Power Profile cluster client side) to set the proper boundaries for the scheduling. - - - - - - - - The PowerProfileScheduleConstraintsResponse Command is generated by a device supporting the server side of the Power Profile cluster to reply to a client side of this cluster which sent a PowerProfileScheduleConstraintsRequest. - - - - - - - - The Get Power Profile Price Extended command is generated by the server (e.g., White Goods) in order to retrieve the cost associated to a specific Power profile considering specific conditions described in the option field (e.g., a specific time). - - - - - - - - Poll Control - General - This cluster provides a mechanism for the management of an end device's MAC Data Poll rate. For the purposes of this cluster, the term "poll" always refers to the sending of a MAC Data Poll from the end device to the end device's parent. - 0x0020 - POLL_CONTROL_CLUSTER - true - true - - check-in interval - long poll interval - short poll interval - fast poll timeout - check in interval min - long poll interval min - fast poll timeout max - - - The Poll Control Cluster server sends out a Check-in command to the devices to which it is paired based on the server's Check-in Interval attribute. - - - - - The Check-in Response is sent in response to the receipt of a Check-in command. - - - - - - - The Fast Poll Stop command is used to stop the fast poll mode initiated by the Check-in response. - - - - - The Set Long Poll Interval command is used to set the read only Long Poll Interval Attribute. - - - - - - The Set Short Poll Interval command is used to set the read only Short Poll Interval Attribute. - - - - - - Appliance Identification - Home Automation - Attributes and commands for determining basic information about a device and setting user device information. - 0x0B00 - APPLIANCE_IDENTIFICATION_CLUSTER - true - true - basic identification - company name - company id - brand name - brand id - model - part number - product revision - software revision - product type name - product type id - ceced specification version - - - - Meter Identification - Home Automation - This cluster provides Attributes and commands for determining advanced information about utility metering device. - 0x0B01 - METER_IDENTIFICATION_CLUSTER - true - true - - company name - meter type id - data quality id - customer name - model - part number - product revision - software revision - utility name - pod - available power - power threshold - - - Appliance Events and Alert - Home Automation - Attributes and commands for transmitting or notifying the occurrence of an event, such as "temperature reached" and of an alert such as alarm, fault or warning. - 0x0B02 - APPLIANCE_EVENTS_AND_ALERT_CLUSTER - true - true - - - This basic message is used to retrieve Household Appliance current alerts. - - - - - This message is used to return household appliance current alerts. - - - - - - - This message is used to notify the current modification of warning and/or fault conditions. - - - - - - - This message is used to notify an event occurred during the normal working of the appliance. - - - - - - - Appliance Statistics - Home Automation - - This cluster provides a mechanism for the transmitting appliance statistics to a collection unit (gateway). The statistics can be in format of data logs. In case of statistic information that will not fit the single ZigBee payload, the Partition cluster should be used. - - 0x0B03 - APPLIANCE_STATISTICS_CLUSTER - true - true - log max size - log queue max size - - - The Appliance Statistics Cluster server occasionally sends out a Log Notification command to the devices to which it needs to log information related to statistics (e.g., home gateways) which implement the client side of Appliance Statistics Cluster. - - - - - - - - - The Appliance Statistics Cluster server sends out a Log Response command to respond to a Log Request command generated by the client side of the Appliance Statistics cluster. - - - - - - - - - The Log Queue Response command is generated as a response to a LogQueueRequest command in order to notify the client side of the Appliance statistics cluster about the logs stored in the server side (queue) that can be retrieved by the client side of this cluster through a LogRequest command. - - - - - - - The Appliance Statistics Cluster server sends out a Statistic Available command to notify the client side of the Appliance Statistics cluster that there are statistics that can be retrieved by using the Log Request command. - - - - - - - The Log request command is sent from a device supporting the client side of the Appliance Statistics cluster (e.g., Home Gateway) to retrieve the log from the device supporting the server side (e.g., appliance). - - - - - - The Log Queue Request command is send from a device supporting the client side of the Appliance Statistics cluster (e.g. Home Gateway) to retrieve the information about the logs inserted in the queue, from the device supporting the server side (e.g. appliance). - - - Electrical Measurement Home Automation diff --git a/src/app/zap-templates/zcl/data-model/silabs/types.xml b/src/app/zap-templates/zcl/data-model/silabs/types.xml index 2647817d2da415..aabddbc6742a64 100644 --- a/src/app/zap-templates/zcl/data-model/silabs/types.xml +++ b/src/app/zap-templates/zcl/data-model/silabs/types.xml @@ -402,27 +402,6 @@ limitations under the License. - - - - - - - - - - - - - - - - - - - - - @@ -434,29 +413,6 @@ limitations under the License. - - - - - - - - - - - - - - - - - - - - - - - @@ -475,28 +431,6 @@ limitations under the License. - - - - - - - - - - - - - - - - - - - - - - @@ -686,41 +620,6 @@ limitations under the License. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py index d2a7397f0e7262..723dc91cb1797a 100644 --- a/src/controller/python/chip/clusters/Objects.py +++ b/src/controller/python/chip/clusters/Objects.py @@ -33,70 +33,15 @@ from .Types import Nullable, NullValue @dataclass -class PowerConfiguration(Cluster): - id: typing.ClassVar[int] = 0x0001 +class Identify(Cluster): + id: typing.ClassVar[int] = 0x0003 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="mainsVoltage", Tag=0x00000000, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="mainsFrequency", Tag=0x00000001, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="mainsAlarmMask", Tag=0x00000010, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="mainsVoltageMinThreshold", Tag=0x00000011, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="mainsVoltageMaxThreshold", Tag=0x00000012, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="mainsVoltageDwellTrip", Tag=0x00000013, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batteryVoltage", Tag=0x00000020, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batteryPercentageRemaining", Tag=0x00000021, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batteryManufacturer", Tag=0x00000030, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="batterySize", Tag=0x00000031, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batteryAhrRating", Tag=0x00000032, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batteryQuantity", Tag=0x00000033, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batteryRatedVoltage", Tag=0x00000034, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batteryAlarmMask", Tag=0x00000035, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batteryVoltageMinThreshold", Tag=0x00000036, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batteryVoltageThreshold1", Tag=0x00000037, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batteryVoltageThreshold2", Tag=0x00000038, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batteryVoltageThreshold3", Tag=0x00000039, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batteryPercentageMinThreshold", Tag=0x0000003A, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batteryPercentageThreshold1", Tag=0x0000003B, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batteryPercentageThreshold2", Tag=0x0000003C, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batteryPercentageThreshold3", Tag=0x0000003D, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batteryAlarmState", Tag=0x0000003E, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery2Voltage", Tag=0x00000040, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery2PercentageRemaining", Tag=0x00000041, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery2Manufacturer", Tag=0x00000050, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="battery2Size", Tag=0x00000051, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery2AhrRating", Tag=0x00000052, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery2Quantity", Tag=0x00000053, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery2RatedVoltage", Tag=0x00000054, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery2AlarmMask", Tag=0x00000055, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery2VoltageMinThreshold", Tag=0x00000056, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery2VoltageThreshold1", Tag=0x00000057, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery2VoltageThreshold2", Tag=0x00000058, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery2VoltageThreshold3", Tag=0x00000059, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery2PercentageMinThreshold", Tag=0x0000005A, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery2PercentageThreshold1", Tag=0x0000005B, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery2PercentageThreshold2", Tag=0x0000005C, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery2PercentageThreshold3", Tag=0x0000005D, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery2AlarmState", Tag=0x0000005E, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery3Voltage", Tag=0x00000060, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery3PercentageRemaining", Tag=0x00000061, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery3Manufacturer", Tag=0x00000070, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="battery3Size", Tag=0x00000071, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery3AhrRating", Tag=0x00000072, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery3Quantity", Tag=0x00000073, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery3RatedVoltage", Tag=0x00000074, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery3AlarmMask", Tag=0x00000075, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery3VoltageMinThreshold", Tag=0x00000076, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery3VoltageThreshold1", Tag=0x00000077, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery3VoltageThreshold2", Tag=0x00000078, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery3VoltageThreshold3", Tag=0x00000079, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery3PercentageMinThreshold", Tag=0x0000007A, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery3PercentageThreshold1", Tag=0x0000007B, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery3PercentageThreshold2", Tag=0x0000007C, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery3PercentageThreshold3", Tag=0x0000007D, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="battery3AlarmState", Tag=0x0000007E, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="identifyTime", Tag=0x00000000, Type=uint), + ClusterObjectFieldDescriptor(Label="identifyType", Tag=0x00000001, Type=uint), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -104,990 +49,1009 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - mainsVoltage: 'typing.Optional[uint]' = None - mainsFrequency: 'typing.Optional[uint]' = None - mainsAlarmMask: 'typing.Optional[uint]' = None - mainsVoltageMinThreshold: 'typing.Optional[uint]' = None - mainsVoltageMaxThreshold: 'typing.Optional[uint]' = None - mainsVoltageDwellTrip: 'typing.Optional[uint]' = None - batteryVoltage: 'typing.Optional[uint]' = None - batteryPercentageRemaining: 'typing.Optional[uint]' = None - batteryManufacturer: 'typing.Optional[str]' = None - batterySize: 'typing.Optional[uint]' = None - batteryAhrRating: 'typing.Optional[uint]' = None - batteryQuantity: 'typing.Optional[uint]' = None - batteryRatedVoltage: 'typing.Optional[uint]' = None - batteryAlarmMask: 'typing.Optional[uint]' = None - batteryVoltageMinThreshold: 'typing.Optional[uint]' = None - batteryVoltageThreshold1: 'typing.Optional[uint]' = None - batteryVoltageThreshold2: 'typing.Optional[uint]' = None - batteryVoltageThreshold3: 'typing.Optional[uint]' = None - batteryPercentageMinThreshold: 'typing.Optional[uint]' = None - batteryPercentageThreshold1: 'typing.Optional[uint]' = None - batteryPercentageThreshold2: 'typing.Optional[uint]' = None - batteryPercentageThreshold3: 'typing.Optional[uint]' = None - batteryAlarmState: 'typing.Optional[uint]' = None - battery2Voltage: 'typing.Optional[uint]' = None - battery2PercentageRemaining: 'typing.Optional[uint]' = None - battery2Manufacturer: 'typing.Optional[str]' = None - battery2Size: 'typing.Optional[uint]' = None - battery2AhrRating: 'typing.Optional[uint]' = None - battery2Quantity: 'typing.Optional[uint]' = None - battery2RatedVoltage: 'typing.Optional[uint]' = None - battery2AlarmMask: 'typing.Optional[uint]' = None - battery2VoltageMinThreshold: 'typing.Optional[uint]' = None - battery2VoltageThreshold1: 'typing.Optional[uint]' = None - battery2VoltageThreshold2: 'typing.Optional[uint]' = None - battery2VoltageThreshold3: 'typing.Optional[uint]' = None - battery2PercentageMinThreshold: 'typing.Optional[uint]' = None - battery2PercentageThreshold1: 'typing.Optional[uint]' = None - battery2PercentageThreshold2: 'typing.Optional[uint]' = None - battery2PercentageThreshold3: 'typing.Optional[uint]' = None - battery2AlarmState: 'typing.Optional[uint]' = None - battery3Voltage: 'typing.Optional[uint]' = None - battery3PercentageRemaining: 'typing.Optional[uint]' = None - battery3Manufacturer: 'typing.Optional[str]' = None - battery3Size: 'typing.Optional[uint]' = None - battery3AhrRating: 'typing.Optional[uint]' = None - battery3Quantity: 'typing.Optional[uint]' = None - battery3RatedVoltage: 'typing.Optional[uint]' = None - battery3AlarmMask: 'typing.Optional[uint]' = None - battery3VoltageMinThreshold: 'typing.Optional[uint]' = None - battery3VoltageThreshold1: 'typing.Optional[uint]' = None - battery3VoltageThreshold2: 'typing.Optional[uint]' = None - battery3VoltageThreshold3: 'typing.Optional[uint]' = None - battery3PercentageMinThreshold: 'typing.Optional[uint]' = None - battery3PercentageThreshold1: 'typing.Optional[uint]' = None - battery3PercentageThreshold2: 'typing.Optional[uint]' = None - battery3PercentageThreshold3: 'typing.Optional[uint]' = None - battery3AlarmState: 'typing.Optional[uint]' = None + identifyTime: 'uint' = None + identifyType: 'uint' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None + class Enums: + class IdentifyEffectIdentifier(IntEnum): + kBlink = 0x00 + kBreathe = 0x01 + kOkay = 0x02 + kChannelChange = 0x0B + kFinishEffect = 0xFE + kStopEffect = 0xFF + + class IdentifyEffectVariant(IntEnum): + kDefault = 0x00 + class IdentifyIdentifyType(IntEnum): + kNone = 0x00 + kVisibleLight = 0x01 + kVisibleLED = 0x02 + kAudibleBeep = 0x03 + kDisplay = 0x04 + kActuator = 0x05 - class Attributes: - @dataclass - class MainsVoltage(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 + class Commands: + @dataclass + class Identify(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0003 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="identifyTime", Tag=0, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + identifyTime: 'uint' = 0 @dataclass - class MainsFrequency(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 + class TriggerEffect(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0003 + command_id: typing.ClassVar[int] = 0x0040 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="effectIdentifier", Tag=0, Type=Identify.Enums.IdentifyEffectIdentifier), + ClusterObjectFieldDescriptor(Label="effectVariant", Tag=1, Type=Identify.Enums.IdentifyEffectVariant), + ]) - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + effectIdentifier: 'Identify.Enums.IdentifyEffectIdentifier' = 0 + effectVariant: 'Identify.Enums.IdentifyEffectVariant' = 0 - value: 'typing.Optional[uint]' = None + class Attributes: @dataclass - class MainsAlarmMask(ClusterAttributeDescriptor): + class IdentifyTime(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0003 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000010 + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class MainsVoltageMinThreshold(ClusterAttributeDescriptor): + class IdentifyType(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0003 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000011 + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class MainsVoltageMaxThreshold(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0003 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000012 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class MainsVoltageDwellTrip(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0003 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000013 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class BatteryVoltage(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0003 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000020 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class BatteryPercentageRemaining(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0003 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000021 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class BatteryManufacturer(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0003 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000030 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - - value: 'typing.Optional[str]' = None + return ClusterObjectFieldDescriptor(Type=uint) - @dataclass - class BatterySize(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 + value: 'uint' = 0 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000031 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[uint]' = None +@dataclass +class Groups(Cluster): + id: typing.ClassVar[int] = 0x0004 - @dataclass - class BatteryAhrRating(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="nameSupport", Tag=0x00000000, Type=uint), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000032 + nameSupport: 'uint' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[uint]' = None + class Commands: @dataclass - class BatteryQuantity(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000033 + class AddGroup(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0004 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="groupName", Tag=1, Type=str), + ]) - value: 'typing.Optional[uint]' = None + groupId: 'uint' = 0 + groupName: 'str' = "" @dataclass - class BatteryRatedVoltage(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000034 + class AddGroupResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0004 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + status: 'uint' = 0 + groupId: 'uint' = 0 @dataclass - class BatteryAlarmMask(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000035 + class ViewGroup(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0004 + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + groupId: 'uint' = 0 @dataclass - class BatteryVoltageMinThreshold(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000036 + class ViewGroupResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0004 + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="groupName", Tag=2, Type=str), + ]) - value: 'typing.Optional[uint]' = None + status: 'uint' = 0 + groupId: 'uint' = 0 + groupName: 'str' = "" @dataclass - class BatteryVoltageThreshold1(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 + class GetGroupMembership(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0004 + command_id: typing.ClassVar[int] = 0x0002 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000037 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="groupList", Tag=0, Type=typing.List[uint]), + ]) - value: 'typing.Optional[uint]' = None + groupList: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class BatteryVoltageThreshold2(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000038 + class GetGroupMembershipResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0004 + command_id: typing.ClassVar[int] = 0x0002 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="capacity", Tag=0, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="groupList", Tag=1, Type=typing.List[uint]), + ]) - value: 'typing.Optional[uint]' = None + capacity: 'typing.Union[Nullable, uint]' = NullValue + groupList: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class BatteryVoltageThreshold3(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000039 + class RemoveGroup(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0004 + command_id: typing.ClassVar[int] = 0x0003 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + groupId: 'uint' = 0 @dataclass - class BatteryPercentageMinThreshold(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000003A + class RemoveGroupResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0004 + command_id: typing.ClassVar[int] = 0x0003 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + status: 'uint' = 0 + groupId: 'uint' = 0 @dataclass - class BatteryPercentageThreshold1(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000003B + class RemoveAllGroups(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0004 + command_id: typing.ClassVar[int] = 0x0004 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'typing.Optional[uint]' = None @dataclass - class BatteryPercentageThreshold2(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 + class AddGroupIfIdentifying(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0004 + command_id: typing.ClassVar[int] = 0x0005 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000003C + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="groupName", Tag=1, Type=str), + ]) - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + groupId: 'uint' = 0 + groupName: 'str' = "" - value: 'typing.Optional[uint]' = None + class Attributes: @dataclass - class BatteryPercentageThreshold3(ClusterAttributeDescriptor): + class NameSupport(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0004 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000003D + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class BatteryAlarmState(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0004 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000003E + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Battery2Voltage(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0004 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000040 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Battery2PercentageRemaining(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0004 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000041 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Battery2Manufacturer(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0004 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000050 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[str]' = None + value: 'uint' = 0 @dataclass - class Battery2Size(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0004 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000051 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class Battery2AhrRating(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 + return ClusterObjectFieldDescriptor(Type=uint) - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000052 + value: 'uint' = 0 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[uint]' = None - @dataclass - class Battery2Quantity(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 +@dataclass +class Scenes(Cluster): + id: typing.ClassVar[int] = 0x0005 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000053 + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="sceneCount", Tag=0x00000000, Type=uint), + ClusterObjectFieldDescriptor(Label="currentScene", Tag=0x00000001, Type=uint), + ClusterObjectFieldDescriptor(Label="currentGroup", Tag=0x00000002, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneValid", Tag=0x00000003, Type=bool), + ClusterObjectFieldDescriptor(Label="nameSupport", Tag=0x00000004, Type=uint), + ClusterObjectFieldDescriptor(Label="lastConfiguredBy", Tag=0x00000005, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + sceneCount: 'uint' = None + currentScene: 'uint' = None + currentGroup: 'uint' = None + sceneValid: 'bool' = None + nameSupport: 'uint' = None + lastConfiguredBy: 'typing.Union[None, Nullable, uint]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None - value: 'typing.Optional[uint]' = None + class Structs: @dataclass - class Battery2RatedVoltage(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000054 - + class AttributeValuePair(ClusterObject): @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="attributeId", Tag=0, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="attributeValue", Tag=1, Type=typing.List[uint]), + ]) - value: 'typing.Optional[uint]' = None + attributeId: 'typing.Optional[uint]' = None + attributeValue: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Battery2AlarmMask(ClusterAttributeDescriptor): + class ExtensionFieldSet(ClusterObject): @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="clusterId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="attributeValueList", Tag=1, Type=typing.List[Scenes.Structs.AttributeValuePair]), + ]) - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000055 + clusterId: 'uint' = 0 + attributeValueList: 'typing.List[Scenes.Structs.AttributeValuePair]' = field(default_factory=lambda: []) - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[uint]' = None + class Commands: @dataclass - class Battery2VoltageMinThreshold(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000056 + class AddScene(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneName", Tag=3, Type=str), + ClusterObjectFieldDescriptor(Label="extensionFieldSets", Tag=4, Type=typing.List[Scenes.Structs.ExtensionFieldSet]), + ]) - value: 'typing.Optional[uint]' = None + groupId: 'uint' = 0 + sceneId: 'uint' = 0 + transitionTime: 'uint' = 0 + sceneName: 'str' = "" + extensionFieldSets: 'typing.List[Scenes.Structs.ExtensionFieldSet]' = field(default_factory=lambda: []) @dataclass - class Battery2VoltageThreshold1(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000057 + class AddSceneResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + status: 'uint' = 0 + groupId: 'uint' = 0 + sceneId: 'uint' = 0 @dataclass - class Battery2VoltageThreshold2(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000058 + class ViewScene(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + groupId: 'uint' = 0 + sceneId: 'uint' = 0 @dataclass - class Battery2VoltageThreshold3(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000059 + class ViewSceneResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=3, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="sceneName", Tag=4, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="extensionFieldSets", Tag=5, Type=typing.Optional[typing.List[Scenes.Structs.ExtensionFieldSet]]), + ]) - value: 'typing.Optional[uint]' = None + status: 'uint' = 0 + groupId: 'uint' = 0 + sceneId: 'uint' = 0 + transitionTime: 'typing.Optional[uint]' = None + sceneName: 'typing.Optional[str]' = None + extensionFieldSets: 'typing.Optional[typing.List[Scenes.Structs.ExtensionFieldSet]]' = None @dataclass - class Battery2PercentageMinThreshold(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000005A + class RemoveScene(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0002 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + groupId: 'uint' = 0 + sceneId: 'uint' = 0 @dataclass - class Battery2PercentageThreshold1(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000005B + class RemoveSceneResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0002 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + status: 'uint' = 0 + groupId: 'uint' = 0 + sceneId: 'uint' = 0 @dataclass - class Battery2PercentageThreshold2(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000005C + class RemoveAllScenes(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0003 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + groupId: 'uint' = 0 @dataclass - class Battery2PercentageThreshold3(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000005D + class RemoveAllScenesResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0003 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + status: 'uint' = 0 + groupId: 'uint' = 0 @dataclass - class Battery2AlarmState(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000005E + class StoreScene(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0004 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + groupId: 'uint' = 0 + sceneId: 'uint' = 0 @dataclass - class Battery3Voltage(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000060 + class StoreSceneResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0004 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + status: 'uint' = 0 + groupId: 'uint' = 0 + sceneId: 'uint' = 0 @dataclass - class Battery3PercentageRemaining(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000061 + class RecallScene(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0005 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=typing.Union[None, Nullable, uint]), + ]) - value: 'typing.Optional[uint]' = None + groupId: 'uint' = 0 + sceneId: 'uint' = 0 + transitionTime: 'typing.Union[None, Nullable, uint]' = None @dataclass - class Battery3Manufacturer(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000070 + class GetSceneMembership(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0006 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), + ]) - value: 'typing.Optional[str]' = None + groupId: 'uint' = 0 @dataclass - class Battery3Size(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 + class GetSceneMembershipResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0006 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000071 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class Battery3AhrRating(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000072 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="capacity", Tag=1, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="groupId", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneList", Tag=3, Type=typing.Optional[typing.List[uint]]), + ]) - value: 'typing.Optional[uint]' = None + status: 'uint' = 0 + capacity: 'typing.Union[Nullable, uint]' = NullValue + groupId: 'uint' = 0 + sceneList: 'typing.Optional[typing.List[uint]]' = None @dataclass - class Battery3Quantity(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000073 + class EnhancedAddScene(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0040 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneName", Tag=3, Type=str), + ClusterObjectFieldDescriptor(Label="extensionFieldSets", Tag=4, Type=typing.List[Scenes.Structs.ExtensionFieldSet]), + ]) - value: 'typing.Optional[uint]' = None + groupId: 'uint' = 0 + sceneId: 'uint' = 0 + transitionTime: 'uint' = 0 + sceneName: 'str' = "" + extensionFieldSets: 'typing.List[Scenes.Structs.ExtensionFieldSet]' = field(default_factory=lambda: []) @dataclass - class Battery3RatedVoltage(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000074 + class EnhancedAddSceneResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0040 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + status: 'uint' = 0 + groupId: 'uint' = 0 + sceneId: 'uint' = 0 @dataclass - class Battery3AlarmMask(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000075 + class EnhancedViewScene(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0041 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + groupId: 'uint' = 0 + sceneId: 'uint' = 0 @dataclass - class Battery3VoltageMinThreshold(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000076 + class EnhancedViewSceneResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0041 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=3, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="sceneName", Tag=4, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="extensionFieldSets", Tag=5, Type=typing.Optional[typing.List[Scenes.Structs.ExtensionFieldSet]]), + ]) - value: 'typing.Optional[uint]' = None + status: 'uint' = 0 + groupId: 'uint' = 0 + sceneId: 'uint' = 0 + transitionTime: 'typing.Optional[uint]' = None + sceneName: 'typing.Optional[str]' = None + extensionFieldSets: 'typing.Optional[typing.List[Scenes.Structs.ExtensionFieldSet]]' = None @dataclass - class Battery3VoltageThreshold1(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000077 + class CopyScene(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0042 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="mode", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="groupIdFrom", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneIdFrom", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="groupIdTo", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneIdTo", Tag=4, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + mode: 'uint' = 0 + groupIdFrom: 'uint' = 0 + sceneIdFrom: 'uint' = 0 + groupIdTo: 'uint' = 0 + sceneIdTo: 'uint' = 0 @dataclass - class Battery3VoltageThreshold2(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0001 + class CopySceneResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0005 + command_id: typing.ClassVar[int] = 0x0042 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000078 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="groupIdFrom", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="sceneIdFrom", Tag=2, Type=uint), + ]) - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + status: 'uint' = 0 + groupIdFrom: 'uint' = 0 + sceneIdFrom: 'uint' = 0 - value: 'typing.Optional[uint]' = None + class Attributes: @dataclass - class Battery3VoltageThreshold3(ClusterAttributeDescriptor): + class SceneCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0005 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000079 + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class Battery3PercentageMinThreshold(ClusterAttributeDescriptor): + class CurrentScene(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0005 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000007A + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class Battery3PercentageThreshold1(ClusterAttributeDescriptor): + class CurrentGroup(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0005 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000007B + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class Battery3PercentageThreshold2(ClusterAttributeDescriptor): + class SceneValid(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0005 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000007C + return 0x00000003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=bool) - value: 'typing.Optional[uint]' = None + value: 'bool' = False @dataclass - class Battery3PercentageThreshold3(ClusterAttributeDescriptor): + class NameSupport(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0005 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000007D + return 0x00000004 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class Battery3AlarmState(ClusterAttributeDescriptor): + class LastConfiguredBy(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0005 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000007E + return 0x00000005 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.Union[None, Nullable, uint]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0005 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -1103,7 +1067,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0005 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -1119,7 +1083,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0005 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -1135,7 +1099,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0005 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -1151,7 +1115,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0001 + return 0x0005 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -1166,22 +1130,18 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class DeviceTemperatureConfiguration(Cluster): - id: typing.ClassVar[int] = 0x0002 +class OnOff(Cluster): + id: typing.ClassVar[int] = 0x0006 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="currentTemperature", Tag=0x00000000, Type=int), - ClusterObjectFieldDescriptor(Label="minTempExperienced", Tag=0x00000001, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="maxTempExperienced", Tag=0x00000002, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="overTempTotalDwell", Tag=0x00000003, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="deviceTempAlarmMask", Tag=0x00000010, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="lowTempThreshold", Tag=0x00000011, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="highTempThreshold", Tag=0x00000012, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="lowTempDwellTripPoint", Tag=0x00000013, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="highTempDwellTripPoint", Tag=0x00000014, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="onOff", Tag=0x00000000, Type=bool), + ClusterObjectFieldDescriptor(Label="globalSceneControl", Tag=0x00004000, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="onTime", Tag=0x00004001, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="offWaitTime", Tag=0x00004002, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="startUpOnOff", Tag=0x00004003, Type=typing.Union[None, Nullable, OnOff.Enums.OnOffStartUpOnOff]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -1189,146 +1149,185 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - currentTemperature: 'int' = None - minTempExperienced: 'typing.Optional[int]' = None - maxTempExperienced: 'typing.Optional[int]' = None - overTempTotalDwell: 'typing.Optional[uint]' = None - deviceTempAlarmMask: 'typing.Optional[uint]' = None - lowTempThreshold: 'typing.Optional[int]' = None - highTempThreshold: 'typing.Optional[int]' = None - lowTempDwellTripPoint: 'typing.Optional[uint]' = None - highTempDwellTripPoint: 'typing.Optional[uint]' = None + onOff: 'bool' = None + globalSceneControl: 'typing.Optional[bool]' = None + onTime: 'typing.Optional[uint]' = None + offWaitTime: 'typing.Optional[uint]' = None + startUpOnOff: 'typing.Union[None, Nullable, OnOff.Enums.OnOffStartUpOnOff]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None + class Enums: + class OnOffDelayedAllOffEffectVariant(IntEnum): + kFadeToOffIn0p8Seconds = 0x00 + kNoFade = 0x01 + k50PercentDimDownIn0p8SecondsThenFadeToOffIn12Seconds = 0x02 + class OnOffDyingLightEffectVariant(IntEnum): + k20PercenterDimUpIn0p5SecondsThenFadeToOffIn1Second = 0x00 + class OnOffEffectIdentifier(IntEnum): + kDelayedAllOff = 0x00 + kDyingLight = 0x01 - class Attributes: - @dataclass - class CurrentTemperature(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0002 + class OnOffStartUpOnOff(IntEnum): + kOff = 0x00 + kOn = 0x01 + kTogglePreviousOnOff = 0x02 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) - - value: 'int' = 0 + class Commands: @dataclass - class MinTempExperienced(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0002 + class Off(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0006 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) + + + @dataclass + class On(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0006 + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'typing.Optional[int]' = None @dataclass - class MaxTempExperienced(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0002 + class Toggle(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0006 + command_id: typing.ClassVar[int] = 0x0002 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) + + + @dataclass + class OffWithEffect(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0006 + command_id: typing.ClassVar[int] = 0x0040 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="effectId", Tag=0, Type=OnOff.Enums.OnOffEffectIdentifier), + ClusterObjectFieldDescriptor(Label="effectVariant", Tag=1, Type=OnOff.Enums.OnOffDelayedAllOffEffectVariant), + ]) - value: 'typing.Optional[int]' = None + effectId: 'OnOff.Enums.OnOffEffectIdentifier' = 0 + effectVariant: 'OnOff.Enums.OnOffDelayedAllOffEffectVariant' = 0 @dataclass - class OverTempTotalDwell(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0002 + class OnWithRecallGlobalScene(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0006 + command_id: typing.ClassVar[int] = 0x0041 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) + + + @dataclass + class OnWithTimedOff(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0006 + command_id: typing.ClassVar[int] = 0x0042 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="onOffControl", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="onTime", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="offWaitTime", Tag=2, Type=uint), + ]) + + onOffControl: 'uint' = 0 + onTime: 'uint' = 0 + offWaitTime: 'uint' = 0 - value: 'typing.Optional[uint]' = None + class Attributes: @dataclass - class DeviceTempAlarmMask(ClusterAttributeDescriptor): + class OnOff(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0002 + return 0x0006 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000010 + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=bool) - value: 'typing.Optional[uint]' = None + value: 'bool' = False @dataclass - class LowTempThreshold(ClusterAttributeDescriptor): + class GlobalSceneControl(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0002 + return 0x0006 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000011 + return 0x00004000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) - value: 'typing.Optional[int]' = None + value: 'typing.Optional[bool]' = None @dataclass - class HighTempThreshold(ClusterAttributeDescriptor): + class OnTime(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0002 + return 0x0006 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000012 + return 0x00004001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[int]' = None + value: 'typing.Optional[uint]' = None @dataclass - class LowTempDwellTripPoint(ClusterAttributeDescriptor): + class OffWaitTime(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0002 + return 0x0006 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000013 + return 0x00004002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -1337,26 +1336,26 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Optional[uint]' = None @dataclass - class HighTempDwellTripPoint(ClusterAttributeDescriptor): + class StartUpOnOff(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0002 + return 0x0006 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000014 + return 0x00004003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, OnOff.Enums.OnOffStartUpOnOff]) - value: 'typing.Optional[uint]' = None + value: 'typing.Union[None, Nullable, OnOff.Enums.OnOffStartUpOnOff]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0002 + return 0x0006 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -1372,7 +1371,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0002 + return 0x0006 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -1388,7 +1387,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0002 + return 0x0006 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -1404,7 +1403,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0002 + return 0x0006 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -1420,7 +1419,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0002 + return 0x0006 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -1435,15 +1434,15 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class Identify(Cluster): - id: typing.ClassVar[int] = 0x0003 +class OnOffSwitchConfiguration(Cluster): + id: typing.ClassVar[int] = 0x0007 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="identifyTime", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="identifyType", Tag=0x00000001, Type=uint), + ClusterObjectFieldDescriptor(Label="switchType", Tag=0x00000000, Type=uint), + ClusterObjectFieldDescriptor(Label="switchActions", Tag=0x00000010, Type=uint), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -1451,76 +1450,23 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - identifyTime: 'uint' = None - identifyType: 'uint' = None + switchType: 'uint' = None + switchActions: 'uint' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None - class Enums: - class IdentifyEffectIdentifier(IntEnum): - kBlink = 0x00 - kBreathe = 0x01 - kOkay = 0x02 - kChannelChange = 0x0B - kFinishEffect = 0xFE - kStopEffect = 0xFF - - class IdentifyEffectVariant(IntEnum): - kDefault = 0x00 - - class IdentifyIdentifyType(IntEnum): - kNone = 0x00 - kVisibleLight = 0x01 - kVisibleLED = 0x02 - kAudibleBeep = 0x03 - kDisplay = 0x04 - kActuator = 0x05 - - - - class Commands: - @dataclass - class Identify(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0003 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="identifyTime", Tag=0, Type=uint), - ]) - - identifyTime: 'uint' = 0 - - @dataclass - class TriggerEffect(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0003 - command_id: typing.ClassVar[int] = 0x0040 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="effectIdentifier", Tag=0, Type=Identify.Enums.IdentifyEffectIdentifier), - ClusterObjectFieldDescriptor(Label="effectVariant", Tag=1, Type=Identify.Enums.IdentifyEffectVariant), - ]) - effectIdentifier: 'Identify.Enums.IdentifyEffectIdentifier' = 0 - effectVariant: 'Identify.Enums.IdentifyEffectVariant' = 0 class Attributes: @dataclass - class IdentifyTime(ClusterAttributeDescriptor): + class SwitchType(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0003 + return 0x0007 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -1533,14 +1479,14 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 @dataclass - class IdentifyType(ClusterAttributeDescriptor): + class SwitchActions(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0003 + return 0x0007 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000010 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -1552,7 +1498,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0003 + return 0x0007 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -1568,7 +1514,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0003 + return 0x0007 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -1584,7 +1530,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0003 + return 0x0007 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -1600,7 +1546,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0003 + return 0x0007 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -1616,7 +1562,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0003 + return 0x0007 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -1631,14 +1577,27 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class Groups(Cluster): - id: typing.ClassVar[int] = 0x0004 +class LevelControl(Cluster): + id: typing.ClassVar[int] = 0x0008 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="nameSupport", Tag=0x00000000, Type=uint), + ClusterObjectFieldDescriptor(Label="currentLevel", Tag=0x00000000, Type=uint), + ClusterObjectFieldDescriptor(Label="remainingTime", Tag=0x00000001, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="minLevel", Tag=0x00000002, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="maxLevel", Tag=0x00000003, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="currentFrequency", Tag=0x00000004, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="minFrequency", Tag=0x00000005, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="maxFrequency", Tag=0x00000006, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="options", Tag=0x0000000F, Type=uint), + ClusterObjectFieldDescriptor(Label="onOffTransitionTime", Tag=0x00000010, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="onLevel", Tag=0x00000011, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="onTransitionTime", Tag=0x00000012, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="offTransitionTime", Tag=0x00000013, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="defaultMoveRate", Tag=0x00000014, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="startUpCurrentLevel", Tag=0x00004000, Type=typing.Union[None, Nullable, uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -1646,53 +1605,62 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - nameSupport: 'uint' = None + currentLevel: 'uint' = None + remainingTime: 'typing.Optional[uint]' = None + minLevel: 'typing.Optional[uint]' = None + maxLevel: 'typing.Optional[uint]' = None + currentFrequency: 'typing.Optional[uint]' = None + minFrequency: 'typing.Optional[uint]' = None + maxFrequency: 'typing.Optional[uint]' = None + options: 'uint' = None + onOffTransitionTime: 'typing.Optional[uint]' = None + onLevel: 'typing.Union[Nullable, uint]' = None + onTransitionTime: 'typing.Union[None, Nullable, uint]' = None + offTransitionTime: 'typing.Union[None, Nullable, uint]' = None + defaultMoveRate: 'typing.Union[None, Nullable, uint]' = None + startUpCurrentLevel: 'typing.Union[None, Nullable, uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None + class Enums: + class MoveMode(IntEnum): + kUp = 0x00 + kDown = 0x01 + + class StepMode(IntEnum): + kUp = 0x00 + kDown = 0x01 - class Commands: - @dataclass - class AddGroup(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0004 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="groupName", Tag=1, Type=str), - ]) - - groupId: 'uint' = 0 - groupName: 'str' = "" + class Commands: @dataclass - class AddGroupResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0004 + class MoveToLevel(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0008 command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = False + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="level", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="optionMask", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionOverride", Tag=3, Type=uint), ]) - status: 'uint' = 0 - groupId: 'uint' = 0 + level: 'uint' = 0 + transitionTime: 'uint' = 0 + optionMask: 'uint' = 0 + optionOverride: 'uint' = 0 @dataclass - class ViewGroup(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0004 + class Move(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0008 command_id: typing.ClassVar[int] = 0x0001 is_client: typing.ClassVar[bool] = True @@ -1700,98 +1668,114 @@ class ViewGroup(ClusterCommand): def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=LevelControl.Enums.MoveMode), + ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="optionMask", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionOverride", Tag=3, Type=uint), ]) - groupId: 'uint' = 0 + moveMode: 'LevelControl.Enums.MoveMode' = 0 + rate: 'uint' = 0 + optionMask: 'uint' = 0 + optionOverride: 'uint' = 0 @dataclass - class ViewGroupResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0004 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = False + class Step(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0008 + command_id: typing.ClassVar[int] = 0x0002 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="groupName", Tag=2, Type=str), + ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=LevelControl.Enums.StepMode), + ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionMask", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="optionOverride", Tag=4, Type=uint), ]) - status: 'uint' = 0 - groupId: 'uint' = 0 - groupName: 'str' = "" + stepMode: 'LevelControl.Enums.StepMode' = 0 + stepSize: 'uint' = 0 + transitionTime: 'uint' = 0 + optionMask: 'uint' = 0 + optionOverride: 'uint' = 0 @dataclass - class GetGroupMembership(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0004 - command_id: typing.ClassVar[int] = 0x0002 + class Stop(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0008 + command_id: typing.ClassVar[int] = 0x0003 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="groupList", Tag=0, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="optionMask", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="optionOverride", Tag=1, Type=uint), ]) - groupList: 'typing.List[uint]' = field(default_factory=lambda: []) + optionMask: 'uint' = 0 + optionOverride: 'uint' = 0 @dataclass - class GetGroupMembershipResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0004 - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = False + class MoveToLevelWithOnOff(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0008 + command_id: typing.ClassVar[int] = 0x0004 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="capacity", Tag=0, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="groupList", Tag=1, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="level", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=1, Type=uint), ]) - capacity: 'typing.Union[Nullable, uint]' = NullValue - groupList: 'typing.List[uint]' = field(default_factory=lambda: []) + level: 'uint' = 0 + transitionTime: 'uint' = 0 @dataclass - class RemoveGroup(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0004 - command_id: typing.ClassVar[int] = 0x0003 + class MoveWithOnOff(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0008 + command_id: typing.ClassVar[int] = 0x0005 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=LevelControl.Enums.MoveMode), + ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint), ]) - groupId: 'uint' = 0 + moveMode: 'LevelControl.Enums.MoveMode' = 0 + rate: 'uint' = 0 @dataclass - class RemoveGroupResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0004 - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = False + class StepWithOnOff(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0008 + command_id: typing.ClassVar[int] = 0x0006 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=LevelControl.Enums.StepMode), + ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), ]) - status: 'uint' = 0 - groupId: 'uint' = 0 + stepMode: 'LevelControl.Enums.StepMode' = 0 + stepSize: 'uint' = 0 + transitionTime: 'uint' = 0 @dataclass - class RemoveAllGroups(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0004 - command_id: typing.ClassVar[int] = 0x0004 + class StopWithOnOff(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0008 + command_id: typing.ClassVar[int] = 0x0007 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty @@ -1802,29 +1786,27 @@ def descriptor(cls) -> ClusterObjectDescriptor: @dataclass - class AddGroupIfIdentifying(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0004 - command_id: typing.ClassVar[int] = 0x0005 + class MoveToClosestFrequency(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0008 + command_id: typing.ClassVar[int] = 0x0008 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="groupName", Tag=1, Type=str), + ClusterObjectFieldDescriptor(Label="frequency", Tag=0, Type=uint), ]) - groupId: 'uint' = 0 - groupName: 'str' = "" + frequency: 'uint' = 0 class Attributes: @dataclass - class NameSupport(ClusterAttributeDescriptor): + class CurrentLevel(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0004 + return 0x0008 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -1837,579 +1819,427 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class RemainingTime(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0004 + return 0x0008 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class MinLevel(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0004 + return 0x0008 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class MaxLevel(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0004 + return 0x0008 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class CurrentFrequency(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0004 + return 0x0008 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000004 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'uint' = 0 + value: 'typing.Optional[uint]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class MinFrequency(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0004 + return 0x0008 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000005 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None -@dataclass -class Scenes(Cluster): - id: typing.ClassVar[int] = 0x0005 + @dataclass + class MaxFrequency(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0008 - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="sceneCount", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="currentScene", Tag=0x00000001, Type=uint), - ClusterObjectFieldDescriptor(Label="currentGroup", Tag=0x00000002, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneValid", Tag=0x00000003, Type=bool), - ClusterObjectFieldDescriptor(Label="nameSupport", Tag=0x00000004, Type=uint), - ClusterObjectFieldDescriptor(Label="lastConfiguredBy", Tag=0x00000005, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000006 - sceneCount: 'uint' = None - currentScene: 'uint' = None - currentGroup: 'uint' = None - sceneValid: 'bool' = None - nameSupport: 'uint' = None - lastConfiguredBy: 'typing.Union[None, Nullable, uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Structs: @dataclass - class AttributeValuePair(ClusterObject): + class Options(ClusterAttributeDescriptor): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="attributeId", Tag=0, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="attributeValue", Tag=1, Type=typing.List[uint]), - ]) + def cluster_id(cls) -> int: + return 0x0008 - attributeId: 'typing.Optional[uint]' = None - attributeValue: 'typing.List[uint]' = field(default_factory=lambda: []) + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000000F + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 @dataclass - class ExtensionFieldSet(ClusterObject): + class OnOffTransitionTime(ClusterAttributeDescriptor): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="clusterId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="attributeValueList", Tag=1, Type=typing.List[Scenes.Structs.AttributeValuePair]), - ]) + def cluster_id(cls) -> int: + return 0x0008 - clusterId: 'uint' = 0 - attributeValueList: 'typing.List[Scenes.Structs.AttributeValuePair]' = field(default_factory=lambda: []) + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000010 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Commands: @dataclass - class AddScene(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True + class OnLevel(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0008 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneName", Tag=3, Type=str), - ClusterObjectFieldDescriptor(Label="extensionFieldSets", Tag=4, Type=typing.List[Scenes.Structs.ExtensionFieldSet]), - ]) + def attribute_id(cls) -> int: + return 0x00000011 - groupId: 'uint' = 0 - sceneId: 'uint' = 0 - transitionTime: 'uint' = 0 - sceneName: 'str' = "" - extensionFieldSets: 'typing.List[Scenes.Structs.ExtensionFieldSet]' = field(default_factory=lambda: []) + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) + + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class AddSceneResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = False + class OnTransitionTime(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0008 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x00000012 - status: 'uint' = 0 - groupId: 'uint' = 0 - sceneId: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class ViewScene(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = True + class OffTransitionTime(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0008 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x00000013 - groupId: 'uint' = 0 - sceneId: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class ViewSceneResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = False + class DefaultMoveRate(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0008 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=3, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="sceneName", Tag=4, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="extensionFieldSets", Tag=5, Type=typing.Optional[typing.List[Scenes.Structs.ExtensionFieldSet]]), - ]) + def attribute_id(cls) -> int: + return 0x00000014 - status: 'uint' = 0 - groupId: 'uint' = 0 - sceneId: 'uint' = 0 - transitionTime: 'typing.Optional[uint]' = None - sceneName: 'typing.Optional[str]' = None - extensionFieldSets: 'typing.Optional[typing.List[Scenes.Structs.ExtensionFieldSet]]' = None + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class RemoveScene(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = True + class StartUpCurrentLevel(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0008 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x00004000 - groupId: 'uint' = 0 - sceneId: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class RemoveSceneResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = False + class GeneratedCommandList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0008 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x0000FFF8 - status: 'uint' = 0 - groupId: 'uint' = 0 - sceneId: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class RemoveAllScenes(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = True + class AcceptedCommandList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0008 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x0000FFF9 - groupId: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class RemoveAllScenesResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = False + class AttributeList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0008 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x0000FFFB - status: 'uint' = 0 - groupId: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class StoreScene(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0004 - is_client: typing.ClassVar[bool] = True + class FeatureMap(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0008 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint), - ]) - - groupId: 'uint' = 0 - sceneId: 'uint' = 0 - - @dataclass - class StoreSceneResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0004 - is_client: typing.ClassVar[bool] = False + def attribute_id(cls) -> int: + return 0x0000FFFC @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint), - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) - status: 'uint' = 0 - groupId: 'uint' = 0 - sceneId: 'uint' = 0 + value: 'uint' = 0 @dataclass - class RecallScene(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0005 - is_client: typing.ClassVar[bool] = True - + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=typing.Union[None, Nullable, uint]), - ]) - - groupId: 'uint' = 0 - sceneId: 'uint' = 0 - transitionTime: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class GetSceneMembership(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0006 - is_client: typing.ClassVar[bool] = True + def cluster_id(cls) -> int: + return 0x0008 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), - ]) - - groupId: 'uint' = 0 - - @dataclass - class GetSceneMembershipResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0006 - is_client: typing.ClassVar[bool] = False + def attribute_id(cls) -> int: + return 0x0000FFFD @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="capacity", Tag=1, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="groupId", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneList", Tag=3, Type=typing.Optional[typing.List[uint]]), - ]) - - status: 'uint' = 0 - capacity: 'typing.Union[Nullable, uint]' = NullValue - groupId: 'uint' = 0 - sceneList: 'typing.Optional[typing.List[uint]]' = None + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) - @dataclass - class EnhancedAddScene(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0040 - is_client: typing.ClassVar[bool] = True + value: 'uint' = 0 - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneName", Tag=3, Type=str), - ClusterObjectFieldDescriptor(Label="extensionFieldSets", Tag=4, Type=typing.List[Scenes.Structs.ExtensionFieldSet]), - ]) - groupId: 'uint' = 0 - sceneId: 'uint' = 0 - transitionTime: 'uint' = 0 - sceneName: 'str' = "" - extensionFieldSets: 'typing.List[Scenes.Structs.ExtensionFieldSet]' = field(default_factory=lambda: []) - @dataclass - class EnhancedAddSceneResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0040 - is_client: typing.ClassVar[bool] = False +@dataclass +class BinaryInputBasic(Cluster): + id: typing.ClassVar[int] = 0x000F - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint), - ]) + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="activeText", Tag=0x00000004, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="description", Tag=0x0000001C, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="inactiveText", Tag=0x0000002E, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="outOfService", Tag=0x00000051, Type=bool), + ClusterObjectFieldDescriptor(Label="polarity", Tag=0x00000054, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="presentValue", Tag=0x00000055, Type=bool), + ClusterObjectFieldDescriptor(Label="reliability", Tag=0x00000067, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="statusFlags", Tag=0x0000006F, Type=uint), + ClusterObjectFieldDescriptor(Label="applicationType", Tag=0x00000100, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) - status: 'uint' = 0 - groupId: 'uint' = 0 - sceneId: 'uint' = 0 + activeText: 'typing.Optional[str]' = None + description: 'typing.Optional[str]' = None + inactiveText: 'typing.Optional[str]' = None + outOfService: 'bool' = None + polarity: 'typing.Optional[uint]' = None + presentValue: 'bool' = None + reliability: 'typing.Optional[uint]' = None + statusFlags: 'uint' = None + applicationType: 'typing.Optional[uint]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None - @dataclass - class EnhancedViewScene(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0041 - is_client: typing.ClassVar[bool] = True - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneId", Tag=1, Type=uint), - ]) - groupId: 'uint' = 0 - sceneId: 'uint' = 0 + class Attributes: @dataclass - class EnhancedViewSceneResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0041 - is_client: typing.ClassVar[bool] = False - + class ActiveText(ClusterAttributeDescriptor): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneId", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=3, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="sceneName", Tag=4, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="extensionFieldSets", Tag=5, Type=typing.Optional[typing.List[Scenes.Structs.ExtensionFieldSet]]), - ]) - - status: 'uint' = 0 - groupId: 'uint' = 0 - sceneId: 'uint' = 0 - transitionTime: 'typing.Optional[uint]' = None - sceneName: 'typing.Optional[str]' = None - extensionFieldSets: 'typing.Optional[typing.List[Scenes.Structs.ExtensionFieldSet]]' = None - - @dataclass - class CopyScene(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0042 - is_client: typing.ClassVar[bool] = True + def cluster_id(cls) -> int: + return 0x000F @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="mode", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="groupIdFrom", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneIdFrom", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="groupIdTo", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneIdTo", Tag=4, Type=uint), - ]) - - mode: 'uint' = 0 - groupIdFrom: 'uint' = 0 - sceneIdFrom: 'uint' = 0 - groupIdTo: 'uint' = 0 - sceneIdTo: 'uint' = 0 - - @dataclass - class CopySceneResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0005 - command_id: typing.ClassVar[int] = 0x0042 - is_client: typing.ClassVar[bool] = False + def attribute_id(cls) -> int: + return 0x00000004 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="groupIdFrom", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="sceneIdFrom", Tag=2, Type=uint), - ]) - - status: 'uint' = 0 - groupIdFrom: 'uint' = 0 - sceneIdFrom: 'uint' = 0 + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + value: 'typing.Optional[str]' = None - class Attributes: @dataclass - class SceneCount(ClusterAttributeDescriptor): + class Description(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0005 + return 0x000F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x0000001C @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'uint' = 0 + value: 'typing.Optional[str]' = None @dataclass - class CurrentScene(ClusterAttributeDescriptor): + class InactiveText(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0005 + return 0x000F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x0000002E @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'uint' = 0 + value: 'typing.Optional[str]' = None @dataclass - class CurrentGroup(ClusterAttributeDescriptor): + class OutOfService(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0005 + return 0x000F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000051 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=bool) - value: 'uint' = 0 + value: 'bool' = False @dataclass - class SceneValid(ClusterAttributeDescriptor): + class Polarity(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0005 + return 0x000F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00000054 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None + + @dataclass + class PresentValue(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x000F + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000055 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -2418,14 +2248,30 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'bool' = False @dataclass - class NameSupport(ClusterAttributeDescriptor): + class Reliability(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0005 + return 0x000F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000004 + return 0x00000067 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None + + @dataclass + class StatusFlags(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x000F + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000006F @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -2434,26 +2280,26 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 @dataclass - class LastConfiguredBy(ClusterAttributeDescriptor): + class ApplicationType(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0005 + return 0x000F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000005 + return 0x00000100 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.Optional[uint]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0005 + return 0x000F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -2469,7 +2315,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0005 + return 0x000F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -2485,7 +2331,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0005 + return 0x000F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -2501,7 +2347,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0005 + return 0x000F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -2517,7 +2363,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0005 + return 0x000F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -2532,18 +2378,13 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class OnOff(Cluster): - id: typing.ClassVar[int] = 0x0006 +class PulseWidthModulation(Cluster): + id: typing.ClassVar[int] = 0x001C @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="onOff", Tag=0x00000000, Type=bool), - ClusterObjectFieldDescriptor(Label="globalSceneControl", Tag=0x00004000, Type=typing.Optional[bool]), - ClusterObjectFieldDescriptor(Label="onTime", Tag=0x00004001, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="offWaitTime", Tag=0x00004002, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="startUpOnOff", Tag=0x00004003, Type=typing.Union[None, Nullable, OnOff.Enums.OnOffStartUpOnOff]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -2551,221 +2392,223 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - onOff: 'bool' = None - globalSceneControl: 'typing.Optional[bool]' = None - onTime: 'typing.Optional[uint]' = None - offWaitTime: 'typing.Optional[uint]' = None - startUpOnOff: 'typing.Union[None, Nullable, OnOff.Enums.OnOffStartUpOnOff]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None - class Enums: - class OnOffDelayedAllOffEffectVariant(IntEnum): - kFadeToOffIn0p8Seconds = 0x00 - kNoFade = 0x01 - k50PercentDimDownIn0p8SecondsThenFadeToOffIn12Seconds = 0x02 - - class OnOffDyingLightEffectVariant(IntEnum): - k20PercenterDimUpIn0p5SecondsThenFadeToOffIn1Second = 0x00 - - class OnOffEffectIdentifier(IntEnum): - kDelayedAllOff = 0x00 - kDyingLight = 0x01 - - class OnOffStartUpOnOff(IntEnum): - kOff = 0x00 - kOn = 0x01 - kTogglePreviousOnOff = 0x02 - - - - class Commands: - @dataclass - class Off(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0006 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class On(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0006 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class Toggle(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0006 - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class OffWithEffect(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0006 - command_id: typing.ClassVar[int] = 0x0040 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="effectId", Tag=0, Type=OnOff.Enums.OnOffEffectIdentifier), - ClusterObjectFieldDescriptor(Label="effectVariant", Tag=1, Type=OnOff.Enums.OnOffDelayedAllOffEffectVariant), - ]) - - effectId: 'OnOff.Enums.OnOffEffectIdentifier' = 0 - effectVariant: 'OnOff.Enums.OnOffDelayedAllOffEffectVariant' = 0 - - @dataclass - class OnWithRecallGlobalScene(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0006 - command_id: typing.ClassVar[int] = 0x0041 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class OnWithTimedOff(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0006 - command_id: typing.ClassVar[int] = 0x0042 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="onOffControl", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="onTime", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="offWaitTime", Tag=2, Type=uint), - ]) - onOffControl: 'uint' = 0 - onTime: 'uint' = 0 - offWaitTime: 'uint' = 0 class Attributes: @dataclass - class OnOff(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0006 + return 0x001C @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'bool' = False + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class GlobalSceneControl(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0006 + return 0x001C @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00004000 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[bool]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class OnTime(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0006 + return 0x001C @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00004001 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class OffWaitTime(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0006 + return 0x001C @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00004002 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class StartUpOnOff(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0006 + return 0x001C @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00004003 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, OnOff.Enums.OnOffStartUpOnOff]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Union[None, Nullable, OnOff.Enums.OnOffStartUpOnOff]' = None + value: 'uint' = 0 - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0006 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) +@dataclass +class Descriptor(Cluster): + id: typing.ClassVar[int] = 0x001D + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="deviceList", Tag=0x00000000, Type=typing.List[Descriptor.Structs.DeviceType]), + ClusterObjectFieldDescriptor(Label="serverList", Tag=0x00000001, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="clientList", Tag=0x00000002, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="partsList", Tag=0x00000003, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) + + deviceList: 'typing.List[Descriptor.Structs.DeviceType]' = None + serverList: 'typing.List[uint]' = None + clientList: 'typing.List[uint]' = None + partsList: 'typing.List[uint]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + + + class Structs: + @dataclass + class DeviceType(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="type", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="revision", Tag=1, Type=uint), + ]) + + type: 'uint' = 0 + revision: 'uint' = 0 + + + + + class Attributes: + @dataclass + class DeviceList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x001D + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000000 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[Descriptor.Structs.DeviceType]) + + value: 'typing.List[Descriptor.Structs.DeviceType]' = field(default_factory=lambda: []) + + @dataclass + class ServerList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x001D + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000001 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + + value: 'typing.List[uint]' = field(default_factory=lambda: []) + + @dataclass + class ClientList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x001D + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000002 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + + value: 'typing.List[uint]' = field(default_factory=lambda: []) + + @dataclass + class PartsList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x001D + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000003 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + + value: 'typing.List[uint]' = field(default_factory=lambda: []) + + @dataclass + class GeneratedCommandList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x001D + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFF8 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) value: 'typing.List[uint]' = field(default_factory=lambda: []) @@ -2773,7 +2616,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0006 + return 0x001D @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -2789,7 +2632,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0006 + return 0x001D @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -2805,7 +2648,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0006 + return 0x001D @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -2821,7 +2664,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0006 + return 0x001D @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -2836,15 +2679,14 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class OnOffSwitchConfiguration(Cluster): - id: typing.ClassVar[int] = 0x0007 +class Binding(Cluster): + id: typing.ClassVar[int] = 0x001E @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="switchType", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="switchActions", Tag=0x00000010, Type=uint), + ClusterObjectFieldDescriptor(Label="binding", Tag=0x00000000, Type=typing.List[Binding.Structs.TargetStruct]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -2852,8 +2694,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - switchType: 'uint' = None - switchActions: 'uint' = None + binding: 'typing.List[Binding.Structs.TargetStruct]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None @@ -2861,46 +2702,51 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None - - - class Attributes: + class Structs: @dataclass - class SwitchType(ClusterAttributeDescriptor): + class TargetStruct(ClusterObject): @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0007 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="node", Tag=1, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="group", Tag=2, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="endpoint", Tag=3, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="cluster", Tag=4, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint), + ]) + + node: 'typing.Optional[uint]' = None + group: 'typing.Optional[uint]' = None + endpoint: 'typing.Optional[uint]' = None + cluster: 'typing.Optional[uint]' = None + fabricIndex: 'uint' = 0 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - value: 'uint' = 0 + class Attributes: @dataclass - class SwitchActions(ClusterAttributeDescriptor): + class Binding(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0007 + return 0x001E @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000010 + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.List[Binding.Structs.TargetStruct]) - value: 'uint' = 0 + value: 'typing.List[Binding.Structs.TargetStruct]' = field(default_factory=lambda: []) @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0007 + return 0x001E @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -2916,7 +2762,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0007 + return 0x001E @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -2932,7 +2778,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0007 + return 0x001E @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -2948,7 +2794,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0007 + return 0x001E @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -2964,7 +2810,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0007 + return 0x001E @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -2979,27 +2825,18 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class LevelControl(Cluster): - id: typing.ClassVar[int] = 0x0008 +class AccessControl(Cluster): + id: typing.ClassVar[int] = 0x001F @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="currentLevel", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="remainingTime", Tag=0x00000001, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="minLevel", Tag=0x00000002, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="maxLevel", Tag=0x00000003, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="currentFrequency", Tag=0x00000004, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="minFrequency", Tag=0x00000005, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="maxFrequency", Tag=0x00000006, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="options", Tag=0x0000000F, Type=uint), - ClusterObjectFieldDescriptor(Label="onOffTransitionTime", Tag=0x00000010, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="onLevel", Tag=0x00000011, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="onTransitionTime", Tag=0x00000012, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="offTransitionTime", Tag=0x00000013, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="defaultMoveRate", Tag=0x00000014, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="startUpCurrentLevel", Tag=0x00004000, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="acl", Tag=0x00000000, Type=typing.List[AccessControl.Structs.AccessControlEntry]), + ClusterObjectFieldDescriptor(Label="extension", Tag=0x00000001, Type=typing.Optional[typing.List[AccessControl.Structs.ExtensionEntry]]), + ClusterObjectFieldDescriptor(Label="subjectsPerAccessControlEntry", Tag=0x00000002, Type=uint), + ClusterObjectFieldDescriptor(Label="targetsPerAccessControlEntry", Tag=0x00000003, Type=uint), + ClusterObjectFieldDescriptor(Label="accessControlEntriesPerFabric", Tag=0x00000004, Type=uint), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -3007,20 +2844,11 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - currentLevel: 'uint' = None - remainingTime: 'typing.Optional[uint]' = None - minLevel: 'typing.Optional[uint]' = None - maxLevel: 'typing.Optional[uint]' = None - currentFrequency: 'typing.Optional[uint]' = None - minFrequency: 'typing.Optional[uint]' = None - maxFrequency: 'typing.Optional[uint]' = None - options: 'uint' = None - onOffTransitionTime: 'typing.Optional[uint]' = None - onLevel: 'typing.Union[Nullable, uint]' = None - onTransitionTime: 'typing.Union[None, Nullable, uint]' = None - offTransitionTime: 'typing.Union[None, Nullable, uint]' = None - defaultMoveRate: 'typing.Union[None, Nullable, uint]' = None - startUpCurrentLevel: 'typing.Union[None, Nullable, uint]' = None + acl: 'typing.List[AccessControl.Structs.AccessControlEntry]' = None + extension: 'typing.Optional[typing.List[AccessControl.Structs.ExtensionEntry]]' = None + subjectsPerAccessControlEntry: 'uint' = None + targetsPerAccessControlEntry: 'uint' = None + accessControlEntriesPerFabric: 'uint' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None @@ -3028,187 +2856,81 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Enums: - class MoveMode(IntEnum): - kUp = 0x00 - kDown = 0x01 + class AuthMode(IntEnum): + kPase = 0x01 + kCase = 0x02 + kGroup = 0x03 - class StepMode(IntEnum): - kUp = 0x00 - kDown = 0x01 + class ChangeTypeEnum(IntEnum): + kChanged = 0x00 + kAdded = 0x01 + kRemoved = 0x02 + class Privilege(IntEnum): + kView = 0x01 + kProxyView = 0x02 + kOperate = 0x03 + kManage = 0x04 + kAdminister = 0x05 - class Commands: + class Structs: @dataclass - class MoveToLevel(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0008 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="level", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="optionMask", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionOverride", Tag=3, Type=uint), - ]) - - level: 'uint' = 0 - transitionTime: 'uint' = 0 - optionMask: 'uint' = 0 - optionOverride: 'uint' = 0 - - @dataclass - class Move(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0008 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=LevelControl.Enums.MoveMode), - ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="optionMask", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionOverride", Tag=3, Type=uint), - ]) - - moveMode: 'LevelControl.Enums.MoveMode' = 0 - rate: 'uint' = 0 - optionMask: 'uint' = 0 - optionOverride: 'uint' = 0 - - @dataclass - class Step(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0008 - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=LevelControl.Enums.StepMode), - ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionMask", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="optionOverride", Tag=4, Type=uint), - ]) - - stepMode: 'LevelControl.Enums.StepMode' = 0 - stepSize: 'uint' = 0 - transitionTime: 'uint' = 0 - optionMask: 'uint' = 0 - optionOverride: 'uint' = 0 - - @dataclass - class Stop(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0008 - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="optionMask", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="optionOverride", Tag=1, Type=uint), - ]) - - optionMask: 'uint' = 0 - optionOverride: 'uint' = 0 - - @dataclass - class MoveToLevelWithOnOff(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0008 - command_id: typing.ClassVar[int] = 0x0004 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="level", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=1, Type=uint), - ]) - - level: 'uint' = 0 - transitionTime: 'uint' = 0 - - @dataclass - class MoveWithOnOff(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0008 - command_id: typing.ClassVar[int] = 0x0005 - is_client: typing.ClassVar[bool] = True - + class Target(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=LevelControl.Enums.MoveMode), - ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="cluster", Tag=0, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="endpoint", Tag=1, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="deviceType", Tag=2, Type=typing.Union[Nullable, uint]), ]) - moveMode: 'LevelControl.Enums.MoveMode' = 0 - rate: 'uint' = 0 + cluster: 'typing.Union[Nullable, uint]' = NullValue + endpoint: 'typing.Union[Nullable, uint]' = NullValue + deviceType: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class StepWithOnOff(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0008 - command_id: typing.ClassVar[int] = 0x0006 - is_client: typing.ClassVar[bool] = True - + class AccessControlEntry(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=LevelControl.Enums.StepMode), - ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="privilege", Tag=1, Type=AccessControl.Enums.Privilege), + ClusterObjectFieldDescriptor(Label="authMode", Tag=2, Type=AccessControl.Enums.AuthMode), + ClusterObjectFieldDescriptor(Label="subjects", Tag=3, Type=typing.Union[Nullable, typing.List[uint]]), + ClusterObjectFieldDescriptor(Label="targets", Tag=4, Type=typing.Union[Nullable, typing.List[AccessControl.Structs.Target]]), + ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint), ]) - stepMode: 'LevelControl.Enums.StepMode' = 0 - stepSize: 'uint' = 0 - transitionTime: 'uint' = 0 + privilege: 'AccessControl.Enums.Privilege' = 0 + authMode: 'AccessControl.Enums.AuthMode' = 0 + subjects: 'typing.Union[Nullable, typing.List[uint]]' = NullValue + targets: 'typing.Union[Nullable, typing.List[AccessControl.Structs.Target]]' = NullValue + fabricIndex: 'uint' = 0 @dataclass - class StopWithOnOff(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0008 - command_id: typing.ClassVar[int] = 0x0007 - is_client: typing.ClassVar[bool] = True - + class ExtensionEntry(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ + ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=bytes), + ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint), ]) + data: 'bytes' = b"" + fabricIndex: 'uint' = 0 - @dataclass - class MoveToClosestFrequency(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0008 - command_id: typing.ClassVar[int] = 0x0008 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="frequency", Tag=0, Type=uint), - ]) - frequency: 'uint' = 0 class Attributes: @dataclass - class CurrentLevel(ClusterAttributeDescriptor): + class Acl(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0008 + return 0x001F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -3216,15 +2938,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.List[AccessControl.Structs.AccessControlEntry]) - value: 'uint' = 0 + value: 'typing.List[AccessControl.Structs.AccessControlEntry]' = field(default_factory=lambda: []) @dataclass - class RemainingTime(ClusterAttributeDescriptor): + class Extension(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0008 + return 0x001F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -3232,15 +2954,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[AccessControl.Structs.ExtensionEntry]]) - value: 'typing.Optional[uint]' = None + value: 'typing.Optional[typing.List[AccessControl.Structs.ExtensionEntry]]' = None @dataclass - class MinLevel(ClusterAttributeDescriptor): + class SubjectsPerAccessControlEntry(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0008 + return 0x001F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -3248,15 +2970,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class MaxLevel(ClusterAttributeDescriptor): + class TargetsPerAccessControlEntry(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0008 + return 0x001F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -3264,15 +2986,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class CurrentFrequency(ClusterAttributeDescriptor): + class AccessControlEntriesPerFabric(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0008 + return 0x001F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -3280,245 +3002,158 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class MinFrequency(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0008 + return 0x001F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000005 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class MaxFrequency(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0008 + return 0x001F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000006 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Options(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0008 + return 0x001F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000000F + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'uint' = 0 + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class OnOffTransitionTime(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0008 + return 0x001F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000010 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class OnLevel(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0008 + return 0x001F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000011 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 - value: 'typing.Union[Nullable, uint]' = NullValue + class Events: @dataclass - class OnTransitionTime(ClusterAttributeDescriptor): + class AccessControlEntryChanged(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0008 + return 0x001F @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000012 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class OffTransitionTime(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0008 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000013 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class DefaultMoveRate(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0008 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000014 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class StartUpCurrentLevel(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0008 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00004000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0008 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0008 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0008 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0008 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC + def event_id(cls) -> int: + return 0x00000000 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="adminNodeID", Tag=1, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="adminPasscodeID", Tag=2, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="changeType", Tag=3, Type=AccessControl.Enums.ChangeTypeEnum), + ClusterObjectFieldDescriptor(Label="latestValue", Tag=4, Type=typing.Union[Nullable, AccessControl.Structs.AccessControlEntry]), + ClusterObjectFieldDescriptor(Label="adminFabricIndex", Tag=254, Type=uint), + ]) - value: 'uint' = 0 + adminNodeID: 'typing.Union[Nullable, uint]' = NullValue + adminPasscodeID: 'typing.Union[Nullable, uint]' = NullValue + changeType: 'AccessControl.Enums.ChangeTypeEnum' = 0 + latestValue: 'typing.Union[Nullable, AccessControl.Structs.AccessControlEntry]' = NullValue + adminFabricIndex: 'uint' = 0 @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class AccessControlExtensionChanged(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0008 + return 0x001F @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD + def event_id(cls) -> int: + return 0x00000001 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="adminNodeID", Tag=1, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="adminPasscodeID", Tag=2, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="changeType", Tag=3, Type=AccessControl.Enums.ChangeTypeEnum), + ClusterObjectFieldDescriptor(Label="latestValue", Tag=4, Type=typing.Union[Nullable, AccessControl.Structs.ExtensionEntry]), + ClusterObjectFieldDescriptor(Label="adminFabricIndex", Tag=254, Type=uint), + ]) + adminNodeID: 'typing.Union[Nullable, uint]' = NullValue + adminPasscodeID: 'typing.Union[Nullable, uint]' = NullValue + changeType: 'AccessControl.Enums.ChangeTypeEnum' = 0 + latestValue: 'typing.Union[Nullable, AccessControl.Structs.ExtensionEntry]' = NullValue + adminFabricIndex: 'uint' = 0 @dataclass -class Alarms(Cluster): - id: typing.ClassVar[int] = 0x0009 +class BridgedActions(Cluster): + id: typing.ClassVar[int] = 0x0025 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="alarmCount", Tag=0x00000000, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="actionList", Tag=0x00000000, Type=typing.List[BridgedActions.Structs.ActionStruct]), + ClusterObjectFieldDescriptor(Label="endpointList", Tag=0x00000001, Type=typing.List[BridgedActions.Structs.EndpointListStruct]), + ClusterObjectFieldDescriptor(Label="setupUrl", Tag=0x00000002, Type=typing.Optional[str]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -3526,87 +3161,122 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - alarmCount: 'typing.Optional[uint]' = None + actionList: 'typing.List[BridgedActions.Structs.ActionStruct]' = None + endpointList: 'typing.List[BridgedActions.Structs.EndpointListStruct]' = None + setupUrl: 'typing.Optional[str]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None + class Enums: + class ActionErrorEnum(IntEnum): + kUnknown = 0x00 + kInterrupted = 0x01 + class ActionStateEnum(IntEnum): + kInactive = 0x00 + kActive = 0x01 + kPaused = 0x02 + kDisabled = 0x03 - class Commands: - @dataclass - class ResetAlarm(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0009 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True + class ActionTypeEnum(IntEnum): + kOther = 0x00 + kScene = 0x01 + kSequence = 0x02 + kAutomation = 0x03 + kException = 0x04 + kNotification = 0x05 + kAlarm = 0x06 + + class EndpointListTypeEnum(IntEnum): + kOther = 0x00 + kRoom = 0x01 + kZone = 0x02 + + class Structs: + @dataclass + class ActionStruct(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="alarmCode", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=str), + ClusterObjectFieldDescriptor(Label="type", Tag=2, Type=BridgedActions.Enums.ActionTypeEnum), + ClusterObjectFieldDescriptor(Label="endpointListID", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="supportedCommands", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="status", Tag=5, Type=BridgedActions.Enums.ActionStateEnum), ]) - alarmCode: 'uint' = 0 - clusterId: 'uint' = 0 + actionID: 'uint' = 0 + name: 'str' = "" + type: 'BridgedActions.Enums.ActionTypeEnum' = 0 + endpointListID: 'uint' = 0 + supportedCommands: 'uint' = 0 + status: 'BridgedActions.Enums.ActionStateEnum' = 0 @dataclass - class Alarm(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0009 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = False - + class EndpointListStruct(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="alarmCode", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="endpointListID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=str), + ClusterObjectFieldDescriptor(Label="type", Tag=2, Type=BridgedActions.Enums.EndpointListTypeEnum), + ClusterObjectFieldDescriptor(Label="endpoints", Tag=3, Type=typing.List[uint]), ]) - alarmCode: 'uint' = 0 - clusterId: 'uint' = 0 + endpointListID: 'uint' = 0 + name: 'str' = "" + type: 'BridgedActions.Enums.EndpointListTypeEnum' = 0 + endpoints: 'typing.List[uint]' = field(default_factory=lambda: []) + + + class Commands: @dataclass - class ResetAllAlarms(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0009 - command_id: typing.ClassVar[int] = 0x0001 + class InstantAction(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0025 + command_id: typing.ClassVar[int] = 0x0000 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ + ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), ]) + actionID: 'uint' = 0 + invokeID: 'typing.Optional[uint]' = None @dataclass - class GetAlarmResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0009 + class InstantActionWithTransition(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0025 command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = False + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="alarmCode", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterId", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="timeStamp", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), ]) - status: 'uint' = 0 - alarmCode: 'uint' = 0 - clusterId: 'uint' = 0 - timeStamp: 'uint' = 0 + actionID: 'uint' = 0 + invokeID: 'typing.Optional[uint]' = None + transitionTime: 'uint' = 0 @dataclass - class GetAlarm(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0009 + class StartAction(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0025 command_id: typing.ClassVar[int] = 0x0002 is_client: typing.ClassVar[bool] = True @@ -3614,12 +3284,16 @@ class GetAlarm(ClusterCommand): def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ + ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), ]) + actionID: 'uint' = 0 + invokeID: 'typing.Optional[uint]' = None @dataclass - class ResetAlarmLog(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0009 + class StartActionWithDuration(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0025 command_id: typing.ClassVar[int] = 0x0003 is_client: typing.ClassVar[bool] = True @@ -3627,159 +3301,164 @@ class ResetAlarmLog(ClusterCommand): def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ]) - + ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="duration", Tag=2, Type=uint), + ]) + actionID: 'uint' = 0 + invokeID: 'typing.Optional[uint]' = None + duration: 'uint' = 0 - class Attributes: @dataclass - class AlarmCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0009 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 + class StopAction(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0025 + command_id: typing.ClassVar[int] = 0x0004 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), + ]) - value: 'typing.Optional[uint]' = None + actionID: 'uint' = 0 + invokeID: 'typing.Optional[uint]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0009 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 + class PauseAction(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0025 + command_id: typing.ClassVar[int] = 0x0005 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + actionID: 'uint' = 0 + invokeID: 'typing.Optional[uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0009 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 + class PauseActionWithDuration(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0025 + command_id: typing.ClassVar[int] = 0x0006 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="duration", Tag=2, Type=uint), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + actionID: 'uint' = 0 + invokeID: 'typing.Optional[uint]' = None + duration: 'uint' = 0 @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0009 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB + class ResumeAction(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0025 + command_id: typing.ClassVar[int] = 0x0007 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + actionID: 'uint' = 0 + invokeID: 'typing.Optional[uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0009 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC + class EnableAction(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0025 + command_id: typing.ClassVar[int] = 0x0008 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), + ]) - value: 'uint' = 0 + actionID: 'uint' = 0 + invokeID: 'typing.Optional[uint]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0009 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD + class EnableActionWithDuration(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0025 + command_id: typing.ClassVar[int] = 0x0009 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="duration", Tag=2, Type=uint), + ]) + actionID: 'uint' = 0 + invokeID: 'typing.Optional[uint]' = None + duration: 'uint' = 0 + @dataclass + class DisableAction(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0025 + command_id: typing.ClassVar[int] = 0x000A + is_client: typing.ClassVar[bool] = True -@dataclass -class Time(Cluster): - id: typing.ClassVar[int] = 0x000A + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), + ]) - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="time", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="timeStatus", Tag=0x00000001, Type=uint), - ClusterObjectFieldDescriptor(Label="timeZone", Tag=0x00000002, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="dstStart", Tag=0x00000003, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="dstEnd", Tag=0x00000004, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="dstShift", Tag=0x00000005, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="standardTime", Tag=0x00000006, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="localTime", Tag=0x00000007, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="lastSetTime", Tag=0x00000008, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="validUntilTime", Tag=0x00000009, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + actionID: 'uint' = 0 + invokeID: 'typing.Optional[uint]' = None - time: 'uint' = None - timeStatus: 'uint' = None - timeZone: 'typing.Optional[int]' = None - dstStart: 'typing.Optional[uint]' = None - dstEnd: 'typing.Optional[uint]' = None - dstShift: 'typing.Optional[int]' = None - standardTime: 'typing.Optional[uint]' = None - localTime: 'typing.Optional[uint]' = None - lastSetTime: 'typing.Optional[uint]' = None - validUntilTime: 'typing.Optional[uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @dataclass + class DisableActionWithDuration(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0025 + command_id: typing.ClassVar[int] = 0x000B + is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="duration", Tag=2, Type=uint), + ]) + actionID: 'uint' = 0 + invokeID: 'typing.Optional[uint]' = None + duration: 'uint' = 0 class Attributes: @dataclass - class Time(ClusterAttributeDescriptor): + class ActionList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000A + return 0x0025 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -3787,15 +3466,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.List[BridgedActions.Structs.ActionStruct]) - value: 'uint' = 0 + value: 'typing.List[BridgedActions.Structs.ActionStruct]' = field(default_factory=lambda: []) @dataclass - class TimeStatus(ClusterAttributeDescriptor): + class EndpointList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000A + return 0x0025 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -3803,15 +3482,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.List[BridgedActions.Structs.EndpointListStruct]) - value: 'uint' = 0 + value: 'typing.List[BridgedActions.Structs.EndpointListStruct]' = field(default_factory=lambda: []) @dataclass - class TimeZone(ClusterAttributeDescriptor): + class SetupUrl(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000A + return 0x0025 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -3819,179 +3498,276 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'typing.Optional[int]' = None + value: 'typing.Optional[str]' = None @dataclass - class DstStart(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000A + return 0x0025 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class DstEnd(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000A + return 0x0025 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000004 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class DstShift(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000A + return 0x0025 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000005 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[int]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class StandardTime(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000A + return 0x0025 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000006 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class LocalTime(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000A + return 0x0025 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000007 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 - value: 'typing.Optional[uint]' = None + class Events: @dataclass - class LastSetTime(ClusterAttributeDescriptor): + class StateChanged(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000A + return 0x0025 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000008 - + def event_id(cls) -> int: + return 0x00000000 + @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="newState", Tag=2, Type=BridgedActions.Enums.ActionStateEnum), + ]) - value: 'typing.Optional[uint]' = None + actionID: 'uint' = 0 + invokeID: 'uint' = 0 + newState: 'BridgedActions.Enums.ActionStateEnum' = 0 @dataclass - class ValidUntilTime(ClusterAttributeDescriptor): + class ActionFailed(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000A + return 0x0025 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000009 + def event_id(cls) -> int: + return 0x00000001 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="newState", Tag=2, Type=BridgedActions.Enums.ActionStateEnum), + ClusterObjectFieldDescriptor(Label="error", Tag=3, Type=BridgedActions.Enums.ActionErrorEnum), + ]) + + actionID: 'uint' = 0 + invokeID: 'uint' = 0 + newState: 'BridgedActions.Enums.ActionStateEnum' = 0 + error: 'BridgedActions.Enums.ActionErrorEnum' = 0 + + +@dataclass +class Basic(Cluster): + id: typing.ClassVar[int] = 0x0028 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="dataModelRevision", Tag=0x00000000, Type=uint), + ClusterObjectFieldDescriptor(Label="vendorName", Tag=0x00000001, Type=str), + ClusterObjectFieldDescriptor(Label="vendorID", Tag=0x00000002, Type=uint), + ClusterObjectFieldDescriptor(Label="productName", Tag=0x00000003, Type=str), + ClusterObjectFieldDescriptor(Label="productID", Tag=0x00000004, Type=uint), + ClusterObjectFieldDescriptor(Label="nodeLabel", Tag=0x00000005, Type=str), + ClusterObjectFieldDescriptor(Label="location", Tag=0x00000006, Type=str), + ClusterObjectFieldDescriptor(Label="hardwareVersion", Tag=0x00000007, Type=uint), + ClusterObjectFieldDescriptor(Label="hardwareVersionString", Tag=0x00000008, Type=str), + ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=0x00000009, Type=uint), + ClusterObjectFieldDescriptor(Label="softwareVersionString", Tag=0x0000000A, Type=str), + ClusterObjectFieldDescriptor(Label="manufacturingDate", Tag=0x0000000B, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="partNumber", Tag=0x0000000C, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="productURL", Tag=0x0000000D, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="productLabel", Tag=0x0000000E, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="serialNumber", Tag=0x0000000F, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="localConfigDisabled", Tag=0x00000010, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="reachable", Tag=0x00000011, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="uniqueID", Tag=0x00000012, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="capabilityMinima", Tag=0x00000013, Type=Basic.Structs.CapabilityMinimaStruct), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) + + dataModelRevision: 'uint' = None + vendorName: 'str' = None + vendorID: 'uint' = None + productName: 'str' = None + productID: 'uint' = None + nodeLabel: 'str' = None + location: 'str' = None + hardwareVersion: 'uint' = None + hardwareVersionString: 'str' = None + softwareVersion: 'uint' = None + softwareVersionString: 'str' = None + manufacturingDate: 'typing.Optional[str]' = None + partNumber: 'typing.Optional[str]' = None + productURL: 'typing.Optional[str]' = None + productLabel: 'typing.Optional[str]' = None + serialNumber: 'typing.Optional[str]' = None + localConfigDisabled: 'typing.Optional[bool]' = None + reachable: 'typing.Optional[bool]' = None + uniqueID: 'typing.Optional[str]' = None + capabilityMinima: 'Basic.Structs.CapabilityMinimaStruct' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None - value: 'typing.Optional[uint]' = None + class Structs: @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class CapabilityMinimaStruct(ClusterObject): @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x000A + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="caseSessionsPerFabric", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="subscriptionsPerFabric", Tag=1, Type=uint), + ]) - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 + caseSessionsPerFabric: 'uint' = 0 + subscriptionsPerFabric: 'uint' = 0 + + + + class Commands: + @dataclass + class MfgSpecificPing(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0028 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) + - value: 'typing.List[uint]' = field(default_factory=lambda: []) + class Attributes: @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class DataModelRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000A + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'uint' = 0 @dataclass - class AttributeList(ClusterAttributeDescriptor): + class VendorName(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000A + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=str) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'str' = "" @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class VendorID(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000A + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -4000,71 +3776,26 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class ProductName(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000A + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class BinaryInputBasic(Cluster): - id: typing.ClassVar[int] = 0x000F - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="activeText", Tag=0x00000004, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="description", Tag=0x0000001C, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="inactiveText", Tag=0x0000002E, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="outOfService", Tag=0x00000051, Type=bool), - ClusterObjectFieldDescriptor(Label="polarity", Tag=0x00000054, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="presentValue", Tag=0x00000055, Type=bool), - ClusterObjectFieldDescriptor(Label="reliability", Tag=0x00000067, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="statusFlags", Tag=0x0000006F, Type=uint), - ClusterObjectFieldDescriptor(Label="applicationType", Tag=0x00000100, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - activeText: 'typing.Optional[str]' = None - description: 'typing.Optional[str]' = None - inactiveText: 'typing.Optional[str]' = None - outOfService: 'bool' = None - polarity: 'typing.Optional[uint]' = None - presentValue: 'bool' = None - reliability: 'typing.Optional[uint]' = None - statusFlags: 'uint' = None - applicationType: 'typing.Optional[uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - + return ClusterObjectFieldDescriptor(Type=str) + value: 'str' = "" - class Attributes: @dataclass - class ActiveText(ClusterAttributeDescriptor): + class ProductID(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000F + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -4072,143 +3803,255 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[str]' = None + value: 'uint' = 0 @dataclass - class Description(ClusterAttributeDescriptor): + class NodeLabel(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000F + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000001C + return 0x00000005 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + return ClusterObjectFieldDescriptor(Type=str) - value: 'typing.Optional[str]' = None + value: 'str' = "" @dataclass - class InactiveText(ClusterAttributeDescriptor): + class Location(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000F + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000002E + return 0x00000006 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + return ClusterObjectFieldDescriptor(Type=str) - value: 'typing.Optional[str]' = None + value: 'str' = "" @dataclass - class OutOfService(ClusterAttributeDescriptor): + class HardwareVersion(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000F + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000051 + return 0x00000007 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'bool' = False + value: 'uint' = 0 @dataclass - class Polarity(ClusterAttributeDescriptor): + class HardwareVersionString(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000F + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000054 + return 0x00000008 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=str) - value: 'typing.Optional[uint]' = None + value: 'str' = "" @dataclass - class PresentValue(ClusterAttributeDescriptor): + class SoftwareVersion(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000F + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000055 + return 0x00000009 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'bool' = False + value: 'uint' = 0 @dataclass - class Reliability(ClusterAttributeDescriptor): + class SoftwareVersionString(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000F + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000067 + return 0x0000000A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=str) - value: 'typing.Optional[uint]' = None + value: 'str' = "" @dataclass - class StatusFlags(ClusterAttributeDescriptor): + class ManufacturingDate(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000F + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000006F + return 0x0000000B @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'uint' = 0 + value: 'typing.Optional[str]' = None @dataclass - class ApplicationType(ClusterAttributeDescriptor): + class PartNumber(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000F + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000100 + return 0x0000000C @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'typing.Optional[uint]' = None + value: 'typing.Optional[str]' = None + + @dataclass + class ProductURL(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0028 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000000D + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + + value: 'typing.Optional[str]' = None + + @dataclass + class ProductLabel(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0028 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000000E + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + + value: 'typing.Optional[str]' = None + + @dataclass + class SerialNumber(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0028 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000000F + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + + value: 'typing.Optional[str]' = None + + @dataclass + class LocalConfigDisabled(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0028 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000010 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None + + @dataclass + class Reachable(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0028 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000011 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None + + @dataclass + class UniqueID(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0028 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000012 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + + value: 'typing.Optional[str]' = None + + @dataclass + class CapabilityMinima(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0028 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000013 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=Basic.Structs.CapabilityMinimaStruct) + + value: 'Basic.Structs.CapabilityMinimaStruct' = field(default_factory=lambda: Basic.Structs.CapabilityMinimaStruct()) @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000F + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -4224,7 +4067,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000F + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -4240,7 +4083,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000F + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -4256,7 +4099,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000F + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -4272,7 +4115,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x000F + return 0x0028 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -4285,135 +4128,52 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 - -@dataclass -class PowerProfile(Cluster): - id: typing.ClassVar[int] = 0x001A - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="totalProfileNum", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="multipleScheduling", Tag=0x00000001, Type=bool), - ClusterObjectFieldDescriptor(Label="energyFormatting", Tag=0x00000002, Type=uint), - ClusterObjectFieldDescriptor(Label="energyRemote", Tag=0x00000003, Type=bool), - ClusterObjectFieldDescriptor(Label="scheduleMode", Tag=0x00000004, Type=uint), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - totalProfileNum: 'uint' = None - multipleScheduling: 'bool' = None - energyFormatting: 'uint' = None - energyRemote: 'bool' = None - scheduleMode: 'uint' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - class Structs: + class Events: @dataclass - class PowerProfileRecord(ClusterObject): + class StartUp(ClusterEvent): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="energyPhaseId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="powerProfileRemoteControl", Tag=2, Type=bool), - ClusterObjectFieldDescriptor(Label="powerProfileState", Tag=3, Type=uint), - ]) + def cluster_id(cls) -> int: + return 0x0028 - powerProfileId: 'uint' = 0 - energyPhaseId: 'uint' = 0 - powerProfileRemoteControl: 'bool' = False - powerProfileState: 'uint' = 0 + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000000 - @dataclass - class ScheduledPhase(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="energyPhaseId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="scheduledTime", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=0, Type=uint), ]) - energyPhaseId: 'uint' = 0 - scheduledTime: 'uint' = 0 + softwareVersion: 'uint' = 0 @dataclass - class TransferredPhase(ClusterObject): + class ShutDown(ClusterEvent): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="energyPhaseId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="macroPhaseId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="expectedDuration", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="peakPower", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="energy", Tag=4, Type=uint), - ClusterObjectFieldDescriptor(Label="maxActivationDelay", Tag=5, Type=uint), - ]) - - energyPhaseId: 'uint' = 0 - macroPhaseId: 'uint' = 0 - expectedDuration: 'uint' = 0 - peakPower: 'uint' = 0 - energy: 'uint' = 0 - maxActivationDelay: 'uint' = 0 - - + def cluster_id(cls) -> int: + return 0x0028 - class Commands: - @dataclass - class PowerProfileRequest(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000001 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint), ]) - powerProfileId: 'uint' = 0 @dataclass - class PowerProfileNotification(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = False - + class Leave(ClusterEvent): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="totalProfileNum", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="numOfTransferredPhases", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="transferredPhases", Tag=3, Type=typing.List[PowerProfile.Structs.TransferredPhase]), - ]) - - totalProfileNum: 'uint' = 0 - powerProfileId: 'uint' = 0 - numOfTransferredPhases: 'uint' = 0 - transferredPhases: 'typing.List[PowerProfile.Structs.TransferredPhase]' = field(default_factory=lambda: []) + def cluster_id(cls) -> int: + return 0x0028 - @dataclass - class PowerProfileStateRequest(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000002 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: @@ -4423,402 +4183,251 @@ def descriptor(cls) -> ClusterObjectDescriptor: @dataclass - class PowerProfileResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = False - + class ReachableChanged(ClusterEvent): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="totalProfileNum", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="numOfTransferredPhases", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="transferredPhases", Tag=3, Type=typing.List[PowerProfile.Structs.TransferredPhase]), - ]) - - totalProfileNum: 'uint' = 0 - powerProfileId: 'uint' = 0 - numOfTransferredPhases: 'uint' = 0 - transferredPhases: 'typing.List[PowerProfile.Structs.TransferredPhase]' = field(default_factory=lambda: []) + def cluster_id(cls) -> int: + return 0x0028 - @dataclass - class GetPowerProfilePriceResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000003 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="currency", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="price", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="priceTrailingDigit", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="reachableNewValue", Tag=0, Type=bool), ]) - powerProfileId: 'uint' = 0 - currency: 'uint' = 0 - price: 'uint' = 0 - priceTrailingDigit: 'uint' = 0 + reachableNewValue: 'bool' = False - @dataclass - class PowerProfileStateResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = False - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="powerProfileCount", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="powerProfileRecords", Tag=1, Type=typing.List[PowerProfile.Structs.PowerProfileRecord]), - ]) - - powerProfileCount: 'uint' = 0 - powerProfileRecords: 'typing.List[PowerProfile.Structs.PowerProfileRecord]' = field(default_factory=lambda: []) - - @dataclass - class GetOverallSchedulePriceResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="currency", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="price", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="priceTrailingDigit", Tag=2, Type=uint), - ]) - - currency: 'uint' = 0 - price: 'uint' = 0 - priceTrailingDigit: 'uint' = 0 - - @dataclass - class GetPowerProfilePrice(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint), - ]) - - powerProfileId: 'uint' = 0 - - @dataclass - class EnergyPhasesScheduleNotification(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0004 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="numOfScheduledPhases", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="scheduledPhases", Tag=2, Type=typing.List[PowerProfile.Structs.ScheduledPhase]), - ]) - - powerProfileId: 'uint' = 0 - numOfScheduledPhases: 'uint' = 0 - scheduledPhases: 'typing.List[PowerProfile.Structs.ScheduledPhase]' = field(default_factory=lambda: []) - - @dataclass - class PowerProfilesStateNotification(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0004 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="powerProfileCount", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="powerProfileRecords", Tag=1, Type=typing.List[PowerProfile.Structs.PowerProfileRecord]), - ]) +@dataclass +class OtaSoftwareUpdateProvider(Cluster): + id: typing.ClassVar[int] = 0x0029 - powerProfileCount: 'uint' = 0 - powerProfileRecords: 'typing.List[PowerProfile.Structs.PowerProfileRecord]' = field(default_factory=lambda: []) + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) - @dataclass - class EnergyPhasesScheduleResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0005 - is_client: typing.ClassVar[bool] = True + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="numOfScheduledPhases", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="scheduledPhases", Tag=2, Type=typing.List[PowerProfile.Structs.ScheduledPhase]), - ]) + class Enums: + class OTAApplyUpdateAction(IntEnum): + kProceed = 0x00 + kAwaitNextAction = 0x01 + kDiscontinue = 0x02 - powerProfileId: 'uint' = 0 - numOfScheduledPhases: 'uint' = 0 - scheduledPhases: 'typing.List[PowerProfile.Structs.ScheduledPhase]' = field(default_factory=lambda: []) + class OTADownloadProtocol(IntEnum): + kBDXSynchronous = 0x00 + kBDXAsynchronous = 0x01 + kHttps = 0x02 + kVendorSpecific = 0x03 - @dataclass - class GetOverallSchedulePrice(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0005 - is_client: typing.ClassVar[bool] = False + class OTAQueryStatus(IntEnum): + kUpdateAvailable = 0x00 + kBusy = 0x01 + kNotAvailable = 0x02 + kDownloadProtocolNotSupported = 0x03 - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) + class Commands: @dataclass - class PowerProfileScheduleConstraintsRequest(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0006 + class QueryImage(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0029 + command_id: typing.ClassVar[int] = 0x0000 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="vendorId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="productId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="protocolsSupported", Tag=3, Type=typing.List[OtaSoftwareUpdateProvider.Enums.OTADownloadProtocol]), + ClusterObjectFieldDescriptor(Label="hardwareVersion", Tag=4, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="location", Tag=5, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="requestorCanConsent", Tag=6, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="metadataForProvider", Tag=7, Type=typing.Optional[bytes]), ]) - powerProfileId: 'uint' = 0 + vendorId: 'uint' = 0 + productId: 'uint' = 0 + softwareVersion: 'uint' = 0 + protocolsSupported: 'typing.List[OtaSoftwareUpdateProvider.Enums.OTADownloadProtocol]' = field(default_factory=lambda: []) + hardwareVersion: 'typing.Optional[uint]' = None + location: 'typing.Optional[str]' = None + requestorCanConsent: 'typing.Optional[bool]' = None + metadataForProvider: 'typing.Optional[bytes]' = None @dataclass - class EnergyPhasesScheduleRequest(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0006 + class QueryImageResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0029 + command_id: typing.ClassVar[int] = 0x0001 is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=OtaSoftwareUpdateProvider.Enums.OTAQueryStatus), + ClusterObjectFieldDescriptor(Label="delayedActionTime", Tag=1, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="imageURI", Tag=2, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=3, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="softwareVersionString", Tag=4, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="updateToken", Tag=5, Type=typing.Optional[bytes]), + ClusterObjectFieldDescriptor(Label="userConsentNeeded", Tag=6, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="metadataForRequestor", Tag=7, Type=typing.Optional[bytes]), ]) - powerProfileId: 'uint' = 0 + status: 'OtaSoftwareUpdateProvider.Enums.OTAQueryStatus' = 0 + delayedActionTime: 'typing.Optional[uint]' = None + imageURI: 'typing.Optional[str]' = None + softwareVersion: 'typing.Optional[uint]' = None + softwareVersionString: 'typing.Optional[str]' = None + updateToken: 'typing.Optional[bytes]' = None + userConsentNeeded: 'typing.Optional[bool]' = None + metadataForRequestor: 'typing.Optional[bytes]' = None @dataclass - class EnergyPhasesScheduleStateRequest(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0007 + class ApplyUpdateRequest(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0029 + command_id: typing.ClassVar[int] = 0x0002 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="updateToken", Tag=0, Type=bytes), + ClusterObjectFieldDescriptor(Label="newVersion", Tag=1, Type=uint), ]) - powerProfileId: 'uint' = 0 + updateToken: 'bytes' = b"" + newVersion: 'uint' = 0 @dataclass - class EnergyPhasesScheduleStateResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0007 + class ApplyUpdateResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0029 + command_id: typing.ClassVar[int] = 0x0003 is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="numOfScheduledPhases", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="scheduledPhases", Tag=2, Type=typing.List[PowerProfile.Structs.ScheduledPhase]), + ClusterObjectFieldDescriptor(Label="action", Tag=0, Type=OtaSoftwareUpdateProvider.Enums.OTAApplyUpdateAction), + ClusterObjectFieldDescriptor(Label="delayedActionTime", Tag=1, Type=uint), ]) - powerProfileId: 'uint' = 0 - numOfScheduledPhases: 'uint' = 0 - scheduledPhases: 'typing.List[PowerProfile.Structs.ScheduledPhase]' = field(default_factory=lambda: []) + action: 'OtaSoftwareUpdateProvider.Enums.OTAApplyUpdateAction' = 0 + delayedActionTime: 'uint' = 0 @dataclass - class GetPowerProfilePriceExtendedResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0008 + class NotifyUpdateApplied(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0029 + command_id: typing.ClassVar[int] = 0x0004 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="currency", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="price", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="priceTrailingDigit", Tag=3, Type=uint), - ]) - - powerProfileId: 'uint' = 0 - currency: 'uint' = 0 - price: 'uint' = 0 - priceTrailingDigit: 'uint' = 0 - - @dataclass - class EnergyPhasesScheduleStateNotification(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0008 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="numOfScheduledPhases", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="scheduledPhases", Tag=2, Type=typing.List[PowerProfile.Structs.ScheduledPhase]), - ]) - - powerProfileId: 'uint' = 0 - numOfScheduledPhases: 'uint' = 0 - scheduledPhases: 'typing.List[PowerProfile.Structs.ScheduledPhase]' = field(default_factory=lambda: []) - - @dataclass - class PowerProfileScheduleConstraintsNotification(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x0009 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="startAfter", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="stopBefore", Tag=2, Type=uint), - ]) - - powerProfileId: 'uint' = 0 - startAfter: 'uint' = 0 - stopBefore: 'uint' = 0 - - @dataclass - class PowerProfileScheduleConstraintsResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x000A - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="startAfter", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="stopBefore", Tag=2, Type=uint), - ]) - - powerProfileId: 'uint' = 0 - startAfter: 'uint' = 0 - stopBefore: 'uint' = 0 - - @dataclass - class GetPowerProfilePriceExtended(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001A - command_id: typing.ClassVar[int] = 0x000B - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="options", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="powerProfileId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="powerProfileStartTime", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="updateToken", Tag=0, Type=bytes), + ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=1, Type=uint), ]) - options: 'uint' = 0 - powerProfileId: 'uint' = 0 - powerProfileStartTime: 'uint' = 0 + updateToken: 'bytes' = b"" + softwareVersion: 'uint' = 0 class Attributes: @dataclass - class TotalProfileNum(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001A + return 0x0029 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'uint' = 0 + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class MultipleScheduling(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001A + return 0x0029 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'bool' = False + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class EnergyFormatting(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001A + return 0x0029 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'uint' = 0 + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class EnergyRemote(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001A + return 0x0029 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'bool' = False + value: 'uint' = 0 @dataclass - class ScheduleMode(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001A + return 0x0029 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000004 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -4826,99 +4435,20 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x001A - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x001A - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x001A - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x001A - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x001A - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class ApplianceControl(Cluster): - id: typing.ClassVar[int] = 0x001B +@dataclass +class OtaSoftwareUpdateRequestor(Cluster): + id: typing.ClassVar[int] = 0x002A @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="startTime", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="finishTime", Tag=0x00000001, Type=uint), - ClusterObjectFieldDescriptor(Label="remainingTime", Tag=0x00000002, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="defaultOtaProviders", Tag=0x00000000, Type=typing.List[OtaSoftwareUpdateRequestor.Structs.ProviderLocation]), + ClusterObjectFieldDescriptor(Label="updatePossible", Tag=0x00000001, Type=bool), + ClusterObjectFieldDescriptor(Label="updateState", Tag=0x00000002, Type=OtaSoftwareUpdateRequestor.Enums.OTAUpdateStateEnum), + ClusterObjectFieldDescriptor(Label="updateStateProgress", Tag=0x00000003, Type=typing.Union[Nullable, uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -4926,9 +4456,10 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - startTime: 'uint' = None - finishTime: 'uint' = None - remainingTime: 'typing.Optional[uint]' = None + defaultOtaProviders: 'typing.List[OtaSoftwareUpdateRequestor.Structs.ProviderLocation]' = None + updatePossible: 'bool' = None + updateState: 'OtaSoftwareUpdateRequestor.Enums.OTAUpdateStateEnum' = None + updateStateProgress: 'typing.Union[Nullable, uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None @@ -4936,227 +4467,143 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Enums: - class ApplianceStatus(IntEnum): - kOff = 0x01 - kStandBy = 0x02 - kProgrammed = 0x03 - kProgrammedWaitingToStart = 0x04 - kRunning = 0x05 - kPause = 0x06 - kEndProgrammed = 0x07 - kFailure = 0x08 - kProgrammeInterrupted = 0x09 - kIdle = 0x0A - kRinseHold = 0x0B - kService = 0x0C - kSuperfreezing = 0x0D - kSupercooling = 0x0E - kSuperheating = 0x0F - - class CommandIdentification(IntEnum): - kStart = 0x01 - kStop = 0x02 - kPause = 0x03 - kStartSuperfreezing = 0x04 - kStopSuperfreezing = 0x05 - kStartSupercooling = 0x06 - kStopSupercooling = 0x07 - kDisableGas = 0x08 - kEnableGas = 0x09 - kEnableEnergyControl = 0x0A - kDisableEnergyControl = 0x0B - - class WarningEvent(IntEnum): - kWarning1OverallPowerAboveAvailablePowerLevel = 0x00 - kWarning2OverallPowerAbovePowerThresholdLevel = 0x01 - kWarning3OverallPowerBackBelowTheAvailablePowerLevel = 0x02 - kWarning4OverallPowerBackBelowThePowerThresholdLevel = 0x03 - kWarning5OverallPowerWillBePotentiallyAboveAvailablePowerLevelIfTheApplianceStarts = 0x04 - - - - class Commands: - @dataclass - class ExecutionOfACommand(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001B - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="commandId", Tag=0, Type=ApplianceControl.Enums.CommandIdentification), - ]) - - commandId: 'ApplianceControl.Enums.CommandIdentification' = 0 + class OTAAnnouncementReason(IntEnum): + kSimpleAnnouncement = 0x00 + kUpdateAvailable = 0x01 + kUrgentUpdateAvailable = 0x02 - @dataclass - class SignalStateResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001B - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = False + class OTAChangeReasonEnum(IntEnum): + kUnknown = 0x00 + kSuccess = 0x01 + kFailure = 0x02 + kTimeOut = 0x03 + kDelayByProvider = 0x04 - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="applianceStatus", Tag=0, Type=ApplianceControl.Enums.ApplianceStatus), - ClusterObjectFieldDescriptor(Label="remoteEnableFlagsAndDeviceStatus2", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="applianceStatus2", Tag=2, Type=ApplianceControl.Enums.ApplianceStatus), - ]) + class OTAUpdateStateEnum(IntEnum): + kUnknown = 0x00 + kIdle = 0x01 + kQuerying = 0x02 + kDelayedOnQuery = 0x03 + kDownloading = 0x04 + kApplying = 0x05 + kDelayedOnApply = 0x06 + kRollingBack = 0x07 + kDelayedOnUserConsent = 0x08 - applianceStatus: 'ApplianceControl.Enums.ApplianceStatus' = 0 - remoteEnableFlagsAndDeviceStatus2: 'uint' = 0 - applianceStatus2: 'ApplianceControl.Enums.ApplianceStatus' = 0 + class Structs: @dataclass - class SignalState(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001B - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = True - + class ProviderLocation(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ + ClusterObjectFieldDescriptor(Label="providerNodeID", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="endpoint", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint), ]) + providerNodeID: 'uint' = 0 + endpoint: 'uint' = 0 + fabricIndex: 'uint' = 0 - @dataclass - class SignalStateNotification(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001B - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="applianceStatus", Tag=0, Type=ApplianceControl.Enums.ApplianceStatus), - ClusterObjectFieldDescriptor(Label="remoteEnableFlagsAndDeviceStatus2", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="applianceStatus2", Tag=2, Type=ApplianceControl.Enums.ApplianceStatus), - ]) - applianceStatus: 'ApplianceControl.Enums.ApplianceStatus' = 0 - remoteEnableFlagsAndDeviceStatus2: 'uint' = 0 - applianceStatus2: 'ApplianceControl.Enums.ApplianceStatus' = 0 + class Commands: @dataclass - class WriteFunctions(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001B - command_id: typing.ClassVar[int] = 0x0002 + class AnnounceOtaProvider(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x002A + command_id: typing.ClassVar[int] = 0x0000 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="functionId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="functionDataType", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="functionData", Tag=2, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="providerNodeId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="vendorId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="announcementReason", Tag=2, Type=OtaSoftwareUpdateRequestor.Enums.OTAAnnouncementReason), + ClusterObjectFieldDescriptor(Label="metadataForNode", Tag=3, Type=typing.Optional[bytes]), + ClusterObjectFieldDescriptor(Label="endpoint", Tag=4, Type=uint), ]) - functionId: 'uint' = 0 - functionDataType: 'uint' = 0 - functionData: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class OverloadPauseResume(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001B - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) + providerNodeId: 'uint' = 0 + vendorId: 'uint' = 0 + announcementReason: 'OtaSoftwareUpdateRequestor.Enums.OTAAnnouncementReason' = 0 + metadataForNode: 'typing.Optional[bytes]' = None + endpoint: 'uint' = 0 + class Attributes: @dataclass - class OverloadPause(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001B - command_id: typing.ClassVar[int] = 0x0004 - is_client: typing.ClassVar[bool] = True - + class DefaultOtaProviders(ClusterAttributeDescriptor): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class OverloadWarning(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x001B - command_id: typing.ClassVar[int] = 0x0005 - is_client: typing.ClassVar[bool] = True + def cluster_id(cls) -> int: + return 0x002A @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="warningEvent", Tag=0, Type=ApplianceControl.Enums.WarningEvent), - ]) + def attribute_id(cls) -> int: + return 0x00000000 - warningEvent: 'ApplianceControl.Enums.WarningEvent' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[OtaSoftwareUpdateRequestor.Structs.ProviderLocation]) + value: 'typing.List[OtaSoftwareUpdateRequestor.Structs.ProviderLocation]' = field(default_factory=lambda: []) - class Attributes: @dataclass - class StartTime(ClusterAttributeDescriptor): + class UpdatePossible(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001B + return 0x002A @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=bool) - value: 'uint' = 0 + value: 'bool' = False @dataclass - class FinishTime(ClusterAttributeDescriptor): + class UpdateState(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001B + return 0x002A @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=OtaSoftwareUpdateRequestor.Enums.OTAUpdateStateEnum) - value: 'uint' = 0 + value: 'OtaSoftwareUpdateRequestor.Enums.OTAUpdateStateEnum' = 0 @dataclass - class RemainingTime(ClusterAttributeDescriptor): + class UpdateStateProgress(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001B + return 0x002A @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001B + return 0x002A @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5172,7 +4619,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001B + return 0x002A @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5188,7 +4635,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001B + return 0x002A @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5204,7 +4651,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001B + return 0x002A @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5220,7 +4667,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001B + return 0x002A @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5233,41 +4680,149 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 - -@dataclass -class PulseWidthModulation(Cluster): - id: typing.ClassVar[int] = 0x001C - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - - - class Attributes: + class Events: @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class StateTransition(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001C + return 0x002A @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 + def event_id(cls) -> int: + return 0x00000000 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="previousState", Tag=0, Type=OtaSoftwareUpdateRequestor.Enums.OTAUpdateStateEnum), + ClusterObjectFieldDescriptor(Label="newState", Tag=1, Type=OtaSoftwareUpdateRequestor.Enums.OTAUpdateStateEnum), + ClusterObjectFieldDescriptor(Label="reason", Tag=2, Type=OtaSoftwareUpdateRequestor.Enums.OTAChangeReasonEnum), + ClusterObjectFieldDescriptor(Label="targetSoftwareVersion", Tag=3, Type=typing.Union[Nullable, uint]), + ]) + + previousState: 'OtaSoftwareUpdateRequestor.Enums.OTAUpdateStateEnum' = 0 + newState: 'OtaSoftwareUpdateRequestor.Enums.OTAUpdateStateEnum' = 0 + reason: 'OtaSoftwareUpdateRequestor.Enums.OTAChangeReasonEnum' = 0 + targetSoftwareVersion: 'typing.Union[Nullable, uint]' = NullValue + + @dataclass + class VersionApplied(ClusterEvent): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002A + + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000001 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="productID", Tag=1, Type=uint), + ]) + + softwareVersion: 'uint' = 0 + productID: 'uint' = 0 + + @dataclass + class DownloadError(ClusterEvent): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002A + + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000002 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="bytesDownloaded", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="progressPercent", Tag=2, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="platformCode", Tag=3, Type=typing.Union[Nullable, int]), + ]) + + softwareVersion: 'uint' = 0 + bytesDownloaded: 'uint' = 0 + progressPercent: 'typing.Union[Nullable, uint]' = NullValue + platformCode: 'typing.Union[Nullable, int]' = NullValue + + +@dataclass +class LocalizationConfiguration(Cluster): + id: typing.ClassVar[int] = 0x002B + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="activeLocale", Tag=0x00000000, Type=str), + ClusterObjectFieldDescriptor(Label="supportedLocales", Tag=0x00000001, Type=typing.List[str]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) + + activeLocale: 'str' = None + supportedLocales: 'typing.List[str]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + + + + + class Attributes: + @dataclass + class ActiveLocale(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002B + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000000 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=str) + + value: 'str' = "" + + @dataclass + class SupportedLocales(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002B + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000001 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[str]) + + value: 'typing.List[str]' = field(default_factory=lambda: []) + + @dataclass + class GeneratedCommandList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002B + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -5279,7 +4834,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001C + return 0x002B @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5295,7 +4850,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001C + return 0x002B @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5311,7 +4866,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001C + return 0x002B @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5327,7 +4882,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001C + return 0x002B @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5342,17 +4897,16 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class Descriptor(Cluster): - id: typing.ClassVar[int] = 0x001D +class TimeFormatLocalization(Cluster): + id: typing.ClassVar[int] = 0x002C @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="deviceList", Tag=0x00000000, Type=typing.List[Descriptor.Structs.DeviceType]), - ClusterObjectFieldDescriptor(Label="serverList", Tag=0x00000001, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="clientList", Tag=0x00000002, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="partsList", Tag=0x00000003, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="hourFormat", Tag=0x00000000, Type=TimeFormatLocalization.Enums.HourFormat), + ClusterObjectFieldDescriptor(Label="activeCalendarType", Tag=0x00000001, Type=typing.Optional[TimeFormatLocalization.Enums.CalendarType]), + ClusterObjectFieldDescriptor(Label="supportedCalendarTypes", Tag=0x00000002, Type=typing.Optional[typing.List[TimeFormatLocalization.Enums.CalendarType]]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -5360,40 +4914,43 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - deviceList: 'typing.List[Descriptor.Structs.DeviceType]' = None - serverList: 'typing.List[uint]' = None - clientList: 'typing.List[uint]' = None - partsList: 'typing.List[uint]' = None + hourFormat: 'TimeFormatLocalization.Enums.HourFormat' = None + activeCalendarType: 'typing.Optional[TimeFormatLocalization.Enums.CalendarType]' = None + supportedCalendarTypes: 'typing.Optional[typing.List[TimeFormatLocalization.Enums.CalendarType]]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None + class Enums: + class CalendarType(IntEnum): + kBuddhist = 0x00 + kChinese = 0x01 + kCoptic = 0x02 + kEthiopian = 0x03 + kGregorian = 0x04 + kHebrew = 0x05 + kIndian = 0x06 + kIslamic = 0x07 + kJapanese = 0x08 + kKorean = 0x09 + kPersian = 0x0A + kTaiwanese = 0x0B - class Structs: - @dataclass - class DeviceType(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="type", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="revision", Tag=1, Type=uint), - ]) - - type: 'uint' = 0 - revision: 'uint' = 0 + class HourFormat(IntEnum): + k12hr = 0x00 + k24hr = 0x01 class Attributes: @dataclass - class DeviceList(ClusterAttributeDescriptor): + class HourFormat(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001D + return 0x002C @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5401,15 +4958,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[Descriptor.Structs.DeviceType]) + return ClusterObjectFieldDescriptor(Type=TimeFormatLocalization.Enums.HourFormat) - value: 'typing.List[Descriptor.Structs.DeviceType]' = field(default_factory=lambda: []) + value: 'TimeFormatLocalization.Enums.HourFormat' = 0 @dataclass - class ServerList(ClusterAttributeDescriptor): + class ActiveCalendarType(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001D + return 0x002C @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5417,15 +4974,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[TimeFormatLocalization.Enums.CalendarType]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[TimeFormatLocalization.Enums.CalendarType]' = None @dataclass - class ClientList(ClusterAttributeDescriptor): + class SupportedCalendarTypes(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001D + return 0x002C @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5433,31 +4990,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class PartsList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x001D - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[TimeFormatLocalization.Enums.CalendarType]]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[typing.List[TimeFormatLocalization.Enums.CalendarType]]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001D + return 0x002C @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5473,7 +5014,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001D + return 0x002C @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5489,7 +5030,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001D + return 0x002C @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5505,7 +5046,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001D + return 0x002C @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5521,7 +5062,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001D + return 0x002C @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5536,14 +5077,14 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class Binding(Cluster): - id: typing.ClassVar[int] = 0x001E +class UnitLocalization(Cluster): + id: typing.ClassVar[int] = 0x002D @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="binding", Tag=0x00000000, Type=typing.List[Binding.Structs.TargetStruct]), + ClusterObjectFieldDescriptor(Label="temperatureUnit", Tag=0x00000000, Type=typing.Optional[UnitLocalization.Enums.TempUnit]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -5551,43 +5092,28 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - binding: 'typing.List[Binding.Structs.TargetStruct]' = None + temperatureUnit: 'typing.Optional[UnitLocalization.Enums.TempUnit]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None - - class Structs: - @dataclass - class TargetStruct(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="node", Tag=1, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="group", Tag=2, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="endpoint", Tag=3, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="cluster", Tag=4, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint), - ]) - - node: 'typing.Optional[uint]' = None - group: 'typing.Optional[uint]' = None - endpoint: 'typing.Optional[uint]' = None - cluster: 'typing.Optional[uint]' = None - fabricIndex: 'uint' = 0 + class Enums: + class TempUnit(IntEnum): + kFahrenheit = 0x00 + kCelsius = 0x01 + kKelvin = 0x02 class Attributes: @dataclass - class Binding(ClusterAttributeDescriptor): + class TemperatureUnit(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001E + return 0x002D @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5595,15 +5121,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[Binding.Structs.TargetStruct]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[UnitLocalization.Enums.TempUnit]) - value: 'typing.List[Binding.Structs.TargetStruct]' = field(default_factory=lambda: []) + value: 'typing.Optional[UnitLocalization.Enums.TempUnit]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001E + return 0x002D @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5619,7 +5145,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001E + return 0x002D @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5635,7 +5161,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001E + return 0x002D @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5651,7 +5177,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001E + return 0x002D @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5667,7 +5193,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001E + return 0x002D @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5682,18 +5208,14 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class AccessControl(Cluster): - id: typing.ClassVar[int] = 0x001F +class PowerSourceConfiguration(Cluster): + id: typing.ClassVar[int] = 0x002E @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="acl", Tag=0x00000000, Type=typing.List[AccessControl.Structs.AccessControlEntry]), - ClusterObjectFieldDescriptor(Label="extension", Tag=0x00000001, Type=typing.Optional[typing.List[AccessControl.Structs.ExtensionEntry]]), - ClusterObjectFieldDescriptor(Label="subjectsPerAccessControlEntry", Tag=0x00000002, Type=uint), - ClusterObjectFieldDescriptor(Label="targetsPerAccessControlEntry", Tag=0x00000003, Type=uint), - ClusterObjectFieldDescriptor(Label="accessControlEntriesPerFabric", Tag=0x00000004, Type=uint), + ClusterObjectFieldDescriptor(Label="sources", Tag=0x00000000, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -5701,93 +5223,22 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - acl: 'typing.List[AccessControl.Structs.AccessControlEntry]' = None - extension: 'typing.Optional[typing.List[AccessControl.Structs.ExtensionEntry]]' = None - subjectsPerAccessControlEntry: 'uint' = None - targetsPerAccessControlEntry: 'uint' = None - accessControlEntriesPerFabric: 'uint' = None + sources: 'typing.List[uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None - class Enums: - class AuthMode(IntEnum): - kPase = 0x01 - kCase = 0x02 - kGroup = 0x03 - - class ChangeTypeEnum(IntEnum): - kChanged = 0x00 - kAdded = 0x01 - kRemoved = 0x02 - - class Privilege(IntEnum): - kView = 0x01 - kProxyView = 0x02 - kOperate = 0x03 - kManage = 0x04 - kAdminister = 0x05 - - - class Structs: - @dataclass - class Target(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="cluster", Tag=0, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="endpoint", Tag=1, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="deviceType", Tag=2, Type=typing.Union[Nullable, uint]), - ]) - - cluster: 'typing.Union[Nullable, uint]' = NullValue - endpoint: 'typing.Union[Nullable, uint]' = NullValue - deviceType: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class AccessControlEntry(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="privilege", Tag=1, Type=AccessControl.Enums.Privilege), - ClusterObjectFieldDescriptor(Label="authMode", Tag=2, Type=AccessControl.Enums.AuthMode), - ClusterObjectFieldDescriptor(Label="subjects", Tag=3, Type=typing.Union[Nullable, typing.List[uint]]), - ClusterObjectFieldDescriptor(Label="targets", Tag=4, Type=typing.Union[Nullable, typing.List[AccessControl.Structs.Target]]), - ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint), - ]) - - privilege: 'AccessControl.Enums.Privilege' = 0 - authMode: 'AccessControl.Enums.AuthMode' = 0 - subjects: 'typing.Union[Nullable, typing.List[uint]]' = NullValue - targets: 'typing.Union[Nullable, typing.List[AccessControl.Structs.Target]]' = NullValue - fabricIndex: 'uint' = 0 - - @dataclass - class ExtensionEntry(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=bytes), - ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint), - ]) - - data: 'bytes' = b"" - fabricIndex: 'uint' = 0 - class Attributes: @dataclass - class Acl(ClusterAttributeDescriptor): + class Sources(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001F + return 0x002E @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5795,79 +5246,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[AccessControl.Structs.AccessControlEntry]) - - value: 'typing.List[AccessControl.Structs.AccessControlEntry]' = field(default_factory=lambda: []) - - @dataclass - class Extension(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x001F - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[AccessControl.Structs.ExtensionEntry]]) - - value: 'typing.Optional[typing.List[AccessControl.Structs.ExtensionEntry]]' = None - - @dataclass - class SubjectsPerAccessControlEntry(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x001F - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class TargetsPerAccessControlEntry(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x001F - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class AccessControlEntriesPerFabric(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x001F - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000004 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'uint' = 0 + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001F + return 0x002E @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5883,7 +5270,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001F + return 0x002E @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5899,7 +5286,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001F + return 0x002E @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5915,7 +5302,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001F + return 0x002E @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5931,7 +5318,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x001F + return 0x002E @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -5944,77 +5331,46 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 - class Events: - @dataclass - class AccessControlEntryChanged(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x001F - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="adminNodeID", Tag=1, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="adminPasscodeID", Tag=2, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="changeType", Tag=3, Type=AccessControl.Enums.ChangeTypeEnum), - ClusterObjectFieldDescriptor(Label="latestValue", Tag=4, Type=typing.Union[Nullable, AccessControl.Structs.AccessControlEntry]), - ClusterObjectFieldDescriptor(Label="adminFabricIndex", Tag=254, Type=uint), - ]) - - adminNodeID: 'typing.Union[Nullable, uint]' = NullValue - adminPasscodeID: 'typing.Union[Nullable, uint]' = NullValue - changeType: 'AccessControl.Enums.ChangeTypeEnum' = 0 - latestValue: 'typing.Union[Nullable, AccessControl.Structs.AccessControlEntry]' = NullValue - adminFabricIndex: 'uint' = 0 - - @dataclass - class AccessControlExtensionChanged(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x001F - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="adminNodeID", Tag=1, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="adminPasscodeID", Tag=2, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="changeType", Tag=3, Type=AccessControl.Enums.ChangeTypeEnum), - ClusterObjectFieldDescriptor(Label="latestValue", Tag=4, Type=typing.Union[Nullable, AccessControl.Structs.ExtensionEntry]), - ClusterObjectFieldDescriptor(Label="adminFabricIndex", Tag=254, Type=uint), - ]) - - adminNodeID: 'typing.Union[Nullable, uint]' = NullValue - adminPasscodeID: 'typing.Union[Nullable, uint]' = NullValue - changeType: 'AccessControl.Enums.ChangeTypeEnum' = 0 - latestValue: 'typing.Union[Nullable, AccessControl.Structs.ExtensionEntry]' = NullValue - adminFabricIndex: 'uint' = 0 - @dataclass -class PollControl(Cluster): - id: typing.ClassVar[int] = 0x0020 +class PowerSource(Cluster): + id: typing.ClassVar[int] = 0x002F @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="checkInInterval", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="longPollInterval", Tag=0x00000001, Type=uint), - ClusterObjectFieldDescriptor(Label="shortPollInterval", Tag=0x00000002, Type=uint), - ClusterObjectFieldDescriptor(Label="fastPollTimeout", Tag=0x00000003, Type=uint), - ClusterObjectFieldDescriptor(Label="checkInIntervalMin", Tag=0x00000004, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="longPollIntervalMin", Tag=0x00000005, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="fastPollTimeoutMax", Tag=0x00000006, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="status", Tag=0x00000000, Type=PowerSource.Enums.PowerSourceStatus), + ClusterObjectFieldDescriptor(Label="order", Tag=0x00000001, Type=uint), + ClusterObjectFieldDescriptor(Label="description", Tag=0x00000002, Type=str), + ClusterObjectFieldDescriptor(Label="wiredAssessedInputVoltage", Tag=0x00000003, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="wiredAssessedInputFrequency", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="wiredCurrentType", Tag=0x00000005, Type=typing.Optional[PowerSource.Enums.WiredCurrentType]), + ClusterObjectFieldDescriptor(Label="wiredAssessedCurrent", Tag=0x00000006, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="wiredNominalVoltage", Tag=0x00000007, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="wiredMaximumCurrent", Tag=0x00000008, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="wiredPresent", Tag=0x00000009, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="activeWiredFaults", Tag=0x0000000A, Type=typing.Optional[typing.List[PowerSource.Enums.WiredFault]]), + ClusterObjectFieldDescriptor(Label="batVoltage", Tag=0x0000000B, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="batPercentRemaining", Tag=0x0000000C, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="batTimeRemaining", Tag=0x0000000D, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="batChargeLevel", Tag=0x0000000E, Type=typing.Optional[PowerSource.Enums.BatChargeLevel]), + ClusterObjectFieldDescriptor(Label="batReplacementNeeded", Tag=0x0000000F, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="batReplaceability", Tag=0x00000010, Type=typing.Optional[PowerSource.Enums.BatReplaceability]), + ClusterObjectFieldDescriptor(Label="batPresent", Tag=0x00000011, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="activeBatFaults", Tag=0x00000012, Type=typing.Optional[typing.List[PowerSource.Enums.BatFault]]), + ClusterObjectFieldDescriptor(Label="batReplacementDescription", Tag=0x00000013, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="batCommonDesignation", Tag=0x00000014, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="batANSIDesignation", Tag=0x00000015, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="batIECDesignation", Tag=0x00000016, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="batApprovedChemistry", Tag=0x00000017, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="batCapacity", Tag=0x00000018, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="batQuantity", Tag=0x00000019, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="batChargeState", Tag=0x0000001A, Type=typing.Optional[PowerSource.Enums.BatChargeState]), + ClusterObjectFieldDescriptor(Label="batTimeToFullCharge", Tag=0x0000001B, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="batFunctionalWhileCharging", Tag=0x0000001C, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="batChargingCurrent", Tag=0x0000001D, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="activeBatChargeFaults", Tag=0x0000001E, Type=typing.Optional[typing.List[PowerSource.Enums.BatChargeFault]]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -6022,102 +5378,144 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - checkInInterval: 'uint' = None - longPollInterval: 'uint' = None - shortPollInterval: 'uint' = None - fastPollTimeout: 'uint' = None - checkInIntervalMin: 'typing.Optional[uint]' = None - longPollIntervalMin: 'typing.Optional[uint]' = None - fastPollTimeoutMax: 'typing.Optional[uint]' = None + status: 'PowerSource.Enums.PowerSourceStatus' = None + order: 'uint' = None + description: 'str' = None + wiredAssessedInputVoltage: 'typing.Union[None, Nullable, uint]' = None + wiredAssessedInputFrequency: 'typing.Union[None, Nullable, uint]' = None + wiredCurrentType: 'typing.Optional[PowerSource.Enums.WiredCurrentType]' = None + wiredAssessedCurrent: 'typing.Union[None, Nullable, uint]' = None + wiredNominalVoltage: 'typing.Optional[uint]' = None + wiredMaximumCurrent: 'typing.Optional[uint]' = None + wiredPresent: 'typing.Optional[bool]' = None + activeWiredFaults: 'typing.Optional[typing.List[PowerSource.Enums.WiredFault]]' = None + batVoltage: 'typing.Union[None, Nullable, uint]' = None + batPercentRemaining: 'typing.Union[None, Nullable, uint]' = None + batTimeRemaining: 'typing.Union[None, Nullable, uint]' = None + batChargeLevel: 'typing.Optional[PowerSource.Enums.BatChargeLevel]' = None + batReplacementNeeded: 'typing.Optional[bool]' = None + batReplaceability: 'typing.Optional[PowerSource.Enums.BatReplaceability]' = None + batPresent: 'typing.Optional[bool]' = None + activeBatFaults: 'typing.Optional[typing.List[PowerSource.Enums.BatFault]]' = None + batReplacementDescription: 'typing.Optional[str]' = None + batCommonDesignation: 'typing.Optional[uint]' = None + batANSIDesignation: 'typing.Optional[str]' = None + batIECDesignation: 'typing.Optional[str]' = None + batApprovedChemistry: 'typing.Optional[uint]' = None + batCapacity: 'typing.Optional[uint]' = None + batQuantity: 'typing.Optional[uint]' = None + batChargeState: 'typing.Optional[PowerSource.Enums.BatChargeState]' = None + batTimeToFullCharge: 'typing.Union[None, Nullable, uint]' = None + batFunctionalWhileCharging: 'typing.Optional[bool]' = None + batChargingCurrent: 'typing.Union[None, Nullable, uint]' = None + activeBatChargeFaults: 'typing.Optional[typing.List[PowerSource.Enums.BatChargeFault]]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None + class Enums: + class BatChargeFault(IntEnum): + kUnspecfied = 0x00 + kAmbientTooHot = 0x01 + kAmbientTooCold = 0x02 + kBatteryTooHot = 0x03 + kBatteryTooCold = 0x04 + kBatteryAbsent = 0x05 + kBatteryOverVoltage = 0x06 + kBatteryUnderVoltage = 0x07 + kChargerOverVoltage = 0x08 + kChargerUnderVoltage = 0x09 + kSafetyTimeout = 0x0A + + class BatChargeLevel(IntEnum): + kOk = 0x00 + kWarning = 0x01 + kCritical = 0x02 + class BatChargeState(IntEnum): + kUnknown = 0x00 + kIsCharging = 0x01 + kIsAtFullCharge = 0x02 + kIsNotCharging = 0x03 - class Commands: - @dataclass - class CheckIn(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0020 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = False + class BatFault(IntEnum): + kUnspecfied = 0x00 + kOverTemp = 0x01 + kUnderTemp = 0x02 - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) + class BatReplaceability(IntEnum): + kUnspecified = 0x00 + kNotReplaceable = 0x01 + kUserReplaceable = 0x02 + kFactoryReplaceable = 0x03 + class PowerSourceStatus(IntEnum): + kUnspecfied = 0x00 + kActive = 0x01 + kStandby = 0x02 + kUnavailable = 0x03 - @dataclass - class CheckInResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0020 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True + class WiredCurrentType(IntEnum): + kAc = 0x00 + kDc = 0x01 - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="startFastPolling", Tag=0, Type=bool), - ClusterObjectFieldDescriptor(Label="fastPollTimeout", Tag=1, Type=uint), - ]) + class WiredFault(IntEnum): + kUnspecfied = 0x00 + kOverVoltage = 0x01 + kUnderVoltage = 0x02 - startFastPolling: 'bool' = False - fastPollTimeout: 'uint' = 0 + class Structs: @dataclass - class FastPollStop(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0020 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = True - + class BatChargeFaultChangeType(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ + ClusterObjectFieldDescriptor(Label="current", Tag=0, Type=typing.List[PowerSource.Enums.BatChargeFault]), + ClusterObjectFieldDescriptor(Label="previous", Tag=1, Type=typing.List[PowerSource.Enums.BatChargeFault]), ]) + current: 'typing.List[PowerSource.Enums.BatChargeFault]' = field(default_factory=lambda: []) + previous: 'typing.List[PowerSource.Enums.BatChargeFault]' = field(default_factory=lambda: []) @dataclass - class SetLongPollInterval(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0020 - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = True - + class BatFaultChangeType(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="newLongPollInterval", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="current", Tag=0, Type=typing.List[PowerSource.Enums.BatFault]), + ClusterObjectFieldDescriptor(Label="previous", Tag=1, Type=typing.List[PowerSource.Enums.BatFault]), ]) - newLongPollInterval: 'uint' = 0 + current: 'typing.List[PowerSource.Enums.BatFault]' = field(default_factory=lambda: []) + previous: 'typing.List[PowerSource.Enums.BatFault]' = field(default_factory=lambda: []) @dataclass - class SetShortPollInterval(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0020 - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = True - + class WiredFaultChangeType(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="newShortPollInterval", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="current", Tag=0, Type=typing.List[PowerSource.Enums.WiredFault]), + ClusterObjectFieldDescriptor(Label="previous", Tag=1, Type=typing.List[PowerSource.Enums.WiredFault]), ]) - newShortPollInterval: 'uint' = 0 + current: 'typing.List[PowerSource.Enums.WiredFault]' = field(default_factory=lambda: []) + previous: 'typing.List[PowerSource.Enums.WiredFault]' = field(default_factory=lambda: []) + + class Attributes: @dataclass - class CheckInInterval(ClusterAttributeDescriptor): + class Status(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0020 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -6125,15 +5523,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=PowerSource.Enums.PowerSourceStatus) - value: 'uint' = 0 + value: 'PowerSource.Enums.PowerSourceStatus' = 0 @dataclass - class LongPollInterval(ClusterAttributeDescriptor): + class Order(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0020 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -6146,10 +5544,10 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 @dataclass - class ShortPollInterval(ClusterAttributeDescriptor): + class Description(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0020 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -6157,15 +5555,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=str) - value: 'uint' = 0 + value: 'str' = "" @dataclass - class FastPollTimeout(ClusterAttributeDescriptor): + class WiredAssessedInputVoltage(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0020 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -6173,15 +5571,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'uint' = 0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class CheckInIntervalMin(ClusterAttributeDescriptor): + class WiredAssessedInputFrequency(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0020 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -6189,15 +5587,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class LongPollIntervalMin(ClusterAttributeDescriptor): + class WiredCurrentType(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0020 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -6205,20 +5603,36 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[PowerSource.Enums.WiredCurrentType]) - value: 'typing.Optional[uint]' = None + value: 'typing.Optional[PowerSource.Enums.WiredCurrentType]' = None @dataclass - class FastPollTimeoutMax(ClusterAttributeDescriptor): + class WiredAssessedCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0020 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: return 0x00000006 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + + value: 'typing.Union[None, Nullable, uint]' = None + + @dataclass + class WiredNominalVoltage(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002F + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000007 + @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) @@ -6226,451 +5640,378 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Optional[uint]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class WiredMaximumCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0020 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000008 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class WiredPresent(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0020 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000009 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[bool]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class ActiveWiredFaults(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0020 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x0000000A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[PowerSource.Enums.WiredFault]]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[typing.List[PowerSource.Enums.WiredFault]]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class BatVoltage(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0020 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x0000000B @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'uint' = 0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class BatPercentRemaining(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0020 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x0000000C @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'uint' = 0 + value: 'typing.Union[None, Nullable, uint]' = None + @dataclass + class BatTimeRemaining(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002F + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000000D -@dataclass -class BridgedActions(Cluster): - id: typing.ClassVar[int] = 0x0025 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="actionList", Tag=0x00000000, Type=typing.List[BridgedActions.Structs.ActionStruct]), - ClusterObjectFieldDescriptor(Label="endpointList", Tag=0x00000001, Type=typing.List[BridgedActions.Structs.EndpointListStruct]), - ClusterObjectFieldDescriptor(Label="setupUrl", Tag=0x00000002, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + value: 'typing.Union[None, Nullable, uint]' = None - actionList: 'typing.List[BridgedActions.Structs.ActionStruct]' = None - endpointList: 'typing.List[BridgedActions.Structs.EndpointListStruct]' = None - setupUrl: 'typing.Optional[str]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @dataclass + class BatChargeLevel(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002F - class Enums: - class ActionErrorEnum(IntEnum): - kUnknown = 0x00 - kInterrupted = 0x01 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000000E - class ActionStateEnum(IntEnum): - kInactive = 0x00 - kActive = 0x01 - kPaused = 0x02 - kDisabled = 0x03 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[PowerSource.Enums.BatChargeLevel]) - class ActionTypeEnum(IntEnum): - kOther = 0x00 - kScene = 0x01 - kSequence = 0x02 - kAutomation = 0x03 - kException = 0x04 - kNotification = 0x05 - kAlarm = 0x06 + value: 'typing.Optional[PowerSource.Enums.BatChargeLevel]' = None - class EndpointListTypeEnum(IntEnum): - kOther = 0x00 - kRoom = 0x01 - kZone = 0x02 + @dataclass + class BatReplacementNeeded(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002F + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000000F - class Structs: - @dataclass - class ActionStruct(ClusterObject): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=str), - ClusterObjectFieldDescriptor(Label="type", Tag=2, Type=BridgedActions.Enums.ActionTypeEnum), - ClusterObjectFieldDescriptor(Label="endpointListID", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="supportedCommands", Tag=4, Type=uint), - ClusterObjectFieldDescriptor(Label="status", Tag=5, Type=BridgedActions.Enums.ActionStateEnum), - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) - actionID: 'uint' = 0 - name: 'str' = "" - type: 'BridgedActions.Enums.ActionTypeEnum' = 0 - endpointListID: 'uint' = 0 - supportedCommands: 'uint' = 0 - status: 'BridgedActions.Enums.ActionStateEnum' = 0 + value: 'typing.Optional[bool]' = None @dataclass - class EndpointListStruct(ClusterObject): + class BatReplaceability(ClusterAttributeDescriptor): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="endpointListID", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=str), - ClusterObjectFieldDescriptor(Label="type", Tag=2, Type=BridgedActions.Enums.EndpointListTypeEnum), - ClusterObjectFieldDescriptor(Label="endpoints", Tag=3, Type=typing.List[uint]), - ]) + def cluster_id(cls) -> int: + return 0x002F - endpointListID: 'uint' = 0 - name: 'str' = "" - type: 'BridgedActions.Enums.EndpointListTypeEnum' = 0 - endpoints: 'typing.List[uint]' = field(default_factory=lambda: []) + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000010 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[PowerSource.Enums.BatReplaceability]) + value: 'typing.Optional[PowerSource.Enums.BatReplaceability]' = None - class Commands: @dataclass - class InstantAction(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0025 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True + class BatPresent(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002F @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), - ]) + def attribute_id(cls) -> int: + return 0x00000011 - actionID: 'uint' = 0 - invokeID: 'typing.Optional[uint]' = None + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None @dataclass - class InstantActionWithTransition(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0025 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = True + class ActiveBatFaults(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002F @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x00000012 - actionID: 'uint' = 0 - invokeID: 'typing.Optional[uint]' = None - transitionTime: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[PowerSource.Enums.BatFault]]) + + value: 'typing.Optional[typing.List[PowerSource.Enums.BatFault]]' = None @dataclass - class StartAction(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0025 - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = True + class BatReplacementDescription(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002F @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), - ]) + def attribute_id(cls) -> int: + return 0x00000013 - actionID: 'uint' = 0 - invokeID: 'typing.Optional[uint]' = None + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + + value: 'typing.Optional[str]' = None @dataclass - class StartActionWithDuration(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0025 - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = True + class BatCommonDesignation(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002F @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="duration", Tag=2, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x00000014 - actionID: 'uint' = 0 - invokeID: 'typing.Optional[uint]' = None - duration: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None @dataclass - class StopAction(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0025 - command_id: typing.ClassVar[int] = 0x0004 - is_client: typing.ClassVar[bool] = True + class BatANSIDesignation(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002F @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), - ]) + def attribute_id(cls) -> int: + return 0x00000015 - actionID: 'uint' = 0 - invokeID: 'typing.Optional[uint]' = None + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + + value: 'typing.Optional[str]' = None @dataclass - class PauseAction(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0025 - command_id: typing.ClassVar[int] = 0x0005 - is_client: typing.ClassVar[bool] = True + class BatIECDesignation(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002F @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), - ]) + def attribute_id(cls) -> int: + return 0x00000016 - actionID: 'uint' = 0 - invokeID: 'typing.Optional[uint]' = None + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + + value: 'typing.Optional[str]' = None @dataclass - class PauseActionWithDuration(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0025 - command_id: typing.ClassVar[int] = 0x0006 - is_client: typing.ClassVar[bool] = True - + class BatApprovedChemistry(ClusterAttributeDescriptor): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="duration", Tag=2, Type=uint), - ]) - - actionID: 'uint' = 0 - invokeID: 'typing.Optional[uint]' = None - duration: 'uint' = 0 + def cluster_id(cls) -> int: + return 0x002F - @dataclass - class ResumeAction(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0025 - command_id: typing.ClassVar[int] = 0x0007 - is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000017 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - actionID: 'uint' = 0 - invokeID: 'typing.Optional[uint]' = None + value: 'typing.Optional[uint]' = None @dataclass - class EnableAction(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0025 - command_id: typing.ClassVar[int] = 0x0008 - is_client: typing.ClassVar[bool] = True + class BatCapacity(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002F @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), - ]) + def attribute_id(cls) -> int: + return 0x00000018 - actionID: 'uint' = 0 - invokeID: 'typing.Optional[uint]' = None + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None @dataclass - class EnableActionWithDuration(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0025 - command_id: typing.ClassVar[int] = 0x0009 - is_client: typing.ClassVar[bool] = True + class BatQuantity(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002F @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="duration", Tag=2, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x00000019 - actionID: 'uint' = 0 - invokeID: 'typing.Optional[uint]' = None - duration: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None @dataclass - class DisableAction(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0025 - command_id: typing.ClassVar[int] = 0x000A - is_client: typing.ClassVar[bool] = True + class BatChargeState(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002F @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), - ]) + def attribute_id(cls) -> int: + return 0x0000001A - actionID: 'uint' = 0 - invokeID: 'typing.Optional[uint]' = None + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[PowerSource.Enums.BatChargeState]) + + value: 'typing.Optional[PowerSource.Enums.BatChargeState]' = None @dataclass - class DisableActionWithDuration(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0025 - command_id: typing.ClassVar[int] = 0x000B - is_client: typing.ClassVar[bool] = True + class BatTimeToFullCharge(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x002F @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="duration", Tag=2, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x0000001B - actionID: 'uint' = 0 - invokeID: 'typing.Optional[uint]' = None - duration: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + value: 'typing.Union[None, Nullable, uint]' = None - class Attributes: @dataclass - class ActionList(ClusterAttributeDescriptor): + class BatFunctionalWhileCharging(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0025 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x0000001C @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[BridgedActions.Structs.ActionStruct]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) - value: 'typing.List[BridgedActions.Structs.ActionStruct]' = field(default_factory=lambda: []) + value: 'typing.Optional[bool]' = None @dataclass - class EndpointList(ClusterAttributeDescriptor): + class BatChargingCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0025 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x0000001D @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[BridgedActions.Structs.EndpointListStruct]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.List[BridgedActions.Structs.EndpointListStruct]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class SetupUrl(ClusterAttributeDescriptor): + class ActiveBatChargeFaults(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0025 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x0000001E @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[PowerSource.Enums.BatChargeFault]]) - value: 'typing.Optional[str]' = None + value: 'typing.Optional[typing.List[PowerSource.Enums.BatChargeFault]]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0025 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -6686,7 +6027,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0025 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -6702,7 +6043,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0025 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -6718,7 +6059,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0025 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -6734,7 +6075,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0025 + return 0x002F @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -6747,155 +6088,176 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 - class Events: - @dataclass - class StateChanged(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0025 - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000000 +@dataclass +class GeneralCommissioning(Cluster): + id: typing.ClassVar[int] = 0x0030 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=0x00000000, Type=uint), + ClusterObjectFieldDescriptor(Label="basicCommissioningInfo", Tag=0x00000001, Type=GeneralCommissioning.Structs.BasicCommissioningInfo), + ClusterObjectFieldDescriptor(Label="regulatoryConfig", Tag=0x00000002, Type=GeneralCommissioning.Enums.RegulatoryLocationType), + ClusterObjectFieldDescriptor(Label="locationCapability", Tag=0x00000003, Type=GeneralCommissioning.Enums.RegulatoryLocationType), + ClusterObjectFieldDescriptor(Label="supportsConcurrentConnection", Tag=0x00000004, Type=bool), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) + + breadcrumb: 'uint' = None + basicCommissioningInfo: 'GeneralCommissioning.Structs.BasicCommissioningInfo' = None + regulatoryConfig: 'GeneralCommissioning.Enums.RegulatoryLocationType' = None + locationCapability: 'GeneralCommissioning.Enums.RegulatoryLocationType' = None + supportsConcurrentConnection: 'bool' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + + class Enums: + class CommissioningError(IntEnum): + kOk = 0x00 + kValueOutsideRange = 0x01 + kInvalidAuthentication = 0x02 + kNoFailSafe = 0x03 + kBusyWithOtherAdmin = 0x04 + + class RegulatoryLocationType(IntEnum): + kIndoor = 0x00 + kOutdoor = 0x01 + kIndoorOutdoor = 0x02 + + class Structs: + @dataclass + class BasicCommissioningInfo(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="newState", Tag=2, Type=BridgedActions.Enums.ActionStateEnum), + ClusterObjectFieldDescriptor(Label="failSafeExpiryLengthSeconds", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="maxCumulativeFailsafeSeconds", Tag=1, Type=uint), ]) - actionID: 'uint' = 0 - invokeID: 'uint' = 0 - newState: 'BridgedActions.Enums.ActionStateEnum' = 0 + failSafeExpiryLengthSeconds: 'uint' = 0 + maxCumulativeFailsafeSeconds: 'uint' = 0 - @dataclass - class ActionFailed(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0025 - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000001 + + class Commands: + @dataclass + class ArmFailSafe(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0030 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="actionID", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="invokeID", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="newState", Tag=2, Type=BridgedActions.Enums.ActionStateEnum), - ClusterObjectFieldDescriptor(Label="error", Tag=3, Type=BridgedActions.Enums.ActionErrorEnum), + ClusterObjectFieldDescriptor(Label="expiryLengthSeconds", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=1, Type=uint), ]) - actionID: 'uint' = 0 - invokeID: 'uint' = 0 - newState: 'BridgedActions.Enums.ActionStateEnum' = 0 - error: 'BridgedActions.Enums.ActionErrorEnum' = 0 + expiryLengthSeconds: 'uint' = 0 + breadcrumb: 'uint' = 0 + @dataclass + class ArmFailSafeResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0030 + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = False -@dataclass -class Basic(Cluster): - id: typing.ClassVar[int] = 0x0028 + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="errorCode", Tag=0, Type=GeneralCommissioning.Enums.CommissioningError), + ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=str), + ]) - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="dataModelRevision", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="vendorName", Tag=0x00000001, Type=str), - ClusterObjectFieldDescriptor(Label="vendorID", Tag=0x00000002, Type=uint), - ClusterObjectFieldDescriptor(Label="productName", Tag=0x00000003, Type=str), - ClusterObjectFieldDescriptor(Label="productID", Tag=0x00000004, Type=uint), - ClusterObjectFieldDescriptor(Label="nodeLabel", Tag=0x00000005, Type=str), - ClusterObjectFieldDescriptor(Label="location", Tag=0x00000006, Type=str), - ClusterObjectFieldDescriptor(Label="hardwareVersion", Tag=0x00000007, Type=uint), - ClusterObjectFieldDescriptor(Label="hardwareVersionString", Tag=0x00000008, Type=str), - ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=0x00000009, Type=uint), - ClusterObjectFieldDescriptor(Label="softwareVersionString", Tag=0x0000000A, Type=str), - ClusterObjectFieldDescriptor(Label="manufacturingDate", Tag=0x0000000B, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="partNumber", Tag=0x0000000C, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="productURL", Tag=0x0000000D, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="productLabel", Tag=0x0000000E, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="serialNumber", Tag=0x0000000F, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="localConfigDisabled", Tag=0x00000010, Type=typing.Optional[bool]), - ClusterObjectFieldDescriptor(Label="reachable", Tag=0x00000011, Type=typing.Optional[bool]), - ClusterObjectFieldDescriptor(Label="uniqueID", Tag=0x00000012, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="capabilityMinima", Tag=0x00000013, Type=Basic.Structs.CapabilityMinimaStruct), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + errorCode: 'GeneralCommissioning.Enums.CommissioningError' = 0 + debugText: 'str' = "" - dataModelRevision: 'uint' = None - vendorName: 'str' = None - vendorID: 'uint' = None - productName: 'str' = None - productID: 'uint' = None - nodeLabel: 'str' = None - location: 'str' = None - hardwareVersion: 'uint' = None - hardwareVersionString: 'str' = None - softwareVersion: 'uint' = None - softwareVersionString: 'str' = None - manufacturingDate: 'typing.Optional[str]' = None - partNumber: 'typing.Optional[str]' = None - productURL: 'typing.Optional[str]' = None - productLabel: 'typing.Optional[str]' = None - serialNumber: 'typing.Optional[str]' = None - localConfigDisabled: 'typing.Optional[bool]' = None - reachable: 'typing.Optional[bool]' = None - uniqueID: 'typing.Optional[str]' = None - capabilityMinima: 'Basic.Structs.CapabilityMinimaStruct' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @dataclass + class SetRegulatoryConfig(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0030 + command_id: typing.ClassVar[int] = 0x0002 + is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="newRegulatoryConfig", Tag=0, Type=GeneralCommissioning.Enums.RegulatoryLocationType), + ClusterObjectFieldDescriptor(Label="countryCode", Tag=1, Type=str), + ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=2, Type=uint), + ]) + + newRegulatoryConfig: 'GeneralCommissioning.Enums.RegulatoryLocationType' = 0 + countryCode: 'str' = "" + breadcrumb: 'uint' = 0 - class Structs: @dataclass - class CapabilityMinimaStruct(ClusterObject): + class SetRegulatoryConfigResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0030 + command_id: typing.ClassVar[int] = 0x0003 + is_client: typing.ClassVar[bool] = False + @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="caseSessionsPerFabric", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="subscriptionsPerFabric", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="errorCode", Tag=0, Type=GeneralCommissioning.Enums.CommissioningError), + ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=str), ]) - caseSessionsPerFabric: 'uint' = 0 - subscriptionsPerFabric: 'uint' = 0 + errorCode: 'GeneralCommissioning.Enums.CommissioningError' = 0 + debugText: 'str' = "" + + @dataclass + class CommissioningComplete(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0030 + command_id: typing.ClassVar[int] = 0x0004 + is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - class Commands: @dataclass - class MfgSpecificPing(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0028 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True + class CommissioningCompleteResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0030 + command_id: typing.ClassVar[int] = 0x0005 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ + ClusterObjectFieldDescriptor(Label="errorCode", Tag=0, Type=GeneralCommissioning.Enums.CommissioningError), + ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=str), ]) + errorCode: 'GeneralCommissioning.Enums.CommissioningError' = 0 + debugText: 'str' = "" class Attributes: @dataclass - class DataModelRevision(ClusterAttributeDescriptor): + class Breadcrumb(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0030 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -6908,10 +6270,10 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 @dataclass - class VendorName(ClusterAttributeDescriptor): + class BasicCommissioningInfo(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0030 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -6919,15 +6281,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=GeneralCommissioning.Structs.BasicCommissioningInfo) - value: 'str' = "" + value: 'GeneralCommissioning.Structs.BasicCommissioningInfo' = field(default_factory=lambda: GeneralCommissioning.Structs.BasicCommissioningInfo()) @dataclass - class VendorID(ClusterAttributeDescriptor): + class RegulatoryConfig(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0030 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -6935,15 +6297,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=GeneralCommissioning.Enums.RegulatoryLocationType) - value: 'uint' = 0 + value: 'GeneralCommissioning.Enums.RegulatoryLocationType' = 0 @dataclass - class ProductName(ClusterAttributeDescriptor): + class LocationCapability(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0030 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -6951,15 +6313,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=GeneralCommissioning.Enums.RegulatoryLocationType) - value: 'str' = "" + value: 'GeneralCommissioning.Enums.RegulatoryLocationType' = 0 @dataclass - class ProductID(ClusterAttributeDescriptor): + class SupportsConcurrentConnection(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0030 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -6967,83 +6329,83 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=bool) - value: 'uint' = 0 + value: 'bool' = False @dataclass - class NodeLabel(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0030 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000005 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'str' = "" + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Location(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0030 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000006 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'str' = "" + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class HardwareVersion(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0030 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000007 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'uint' = 0 + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class HardwareVersionString(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0030 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000008 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'str' = "" + value: 'uint' = 0 @dataclass - class SoftwareVersion(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0030 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000009 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -7051,324 +6413,512 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 - @dataclass - class SoftwareVersionString(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0028 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000A - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) +@dataclass +class NetworkCommissioning(Cluster): + id: typing.ClassVar[int] = 0x0031 - value: 'str' = "" + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="maxNetworks", Tag=0x00000000, Type=uint), + ClusterObjectFieldDescriptor(Label="networks", Tag=0x00000001, Type=typing.List[NetworkCommissioning.Structs.NetworkInfo]), + ClusterObjectFieldDescriptor(Label="scanMaxTimeSeconds", Tag=0x00000002, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="connectMaxTimeSeconds", Tag=0x00000003, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="interfaceEnabled", Tag=0x00000004, Type=bool), + ClusterObjectFieldDescriptor(Label="lastNetworkingStatus", Tag=0x00000005, Type=typing.Union[Nullable, NetworkCommissioning.Enums.NetworkCommissioningStatus]), + ClusterObjectFieldDescriptor(Label="lastNetworkID", Tag=0x00000006, Type=typing.Union[Nullable, bytes]), + ClusterObjectFieldDescriptor(Label="lastConnectErrorValue", Tag=0x00000007, Type=typing.Union[Nullable, int]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) - @dataclass - class ManufacturingDate(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0028 + maxNetworks: 'uint' = None + networks: 'typing.List[NetworkCommissioning.Structs.NetworkInfo]' = None + scanMaxTimeSeconds: 'typing.Optional[uint]' = None + connectMaxTimeSeconds: 'typing.Optional[uint]' = None + interfaceEnabled: 'bool' = None + lastNetworkingStatus: 'typing.Union[Nullable, NetworkCommissioning.Enums.NetworkCommissioningStatus]' = None + lastNetworkID: 'typing.Union[Nullable, bytes]' = None + lastConnectErrorValue: 'typing.Union[Nullable, int]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000B + class Enums: + class NetworkCommissioningStatus(IntEnum): + kSuccess = 0x00 + kOutOfRange = 0x01 + kBoundsExceeded = 0x02 + kNetworkIDNotFound = 0x03 + kDuplicateNetworkID = 0x04 + kNetworkNotFound = 0x05 + kRegulatoryError = 0x06 + kAuthFailure = 0x07 + kUnsupportedSecurity = 0x08 + kOtherConnectionFailure = 0x09 + kIPV6Failed = 0x0A + kIPBindFailed = 0x0B + kUnknownError = 0x0C - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + class WiFiBand(IntEnum): + k2g4 = 0x00 + k3g65 = 0x01 + k5g = 0x02 + k6g = 0x03 + k60g = 0x04 - value: 'typing.Optional[str]' = None + class Structs: @dataclass - class PartNumber(ClusterAttributeDescriptor): + class NetworkInfo(ClusterObject): @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0028 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="networkID", Tag=0, Type=bytes), + ClusterObjectFieldDescriptor(Label="connected", Tag=1, Type=bool), + ]) - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000C + networkID: 'bytes' = b"" + connected: 'bool' = False + @dataclass + class ThreadInterfaceScanResult(ClusterObject): @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="panId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="extendedPanId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="networkName", Tag=2, Type=str), + ClusterObjectFieldDescriptor(Label="channel", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="version", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="extendedAddress", Tag=5, Type=bytes), + ClusterObjectFieldDescriptor(Label="rssi", Tag=6, Type=int), + ClusterObjectFieldDescriptor(Label="lqi", Tag=7, Type=uint), + ]) - value: 'typing.Optional[str]' = None + panId: 'uint' = 0 + extendedPanId: 'uint' = 0 + networkName: 'str' = "" + channel: 'uint' = 0 + version: 'uint' = 0 + extendedAddress: 'bytes' = b"" + rssi: 'int' = 0 + lqi: 'uint' = 0 @dataclass - class ProductURL(ClusterAttributeDescriptor): + class WiFiInterfaceScanResult(ClusterObject): @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0028 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="security", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="ssid", Tag=1, Type=bytes), + ClusterObjectFieldDescriptor(Label="bssid", Tag=2, Type=bytes), + ClusterObjectFieldDescriptor(Label="channel", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="wiFiBand", Tag=4, Type=NetworkCommissioning.Enums.WiFiBand), + ClusterObjectFieldDescriptor(Label="rssi", Tag=5, Type=int), + ]) - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000D + security: 'uint' = 0 + ssid: 'bytes' = b"" + bssid: 'bytes' = b"" + channel: 'uint' = 0 + wiFiBand: 'NetworkCommissioning.Enums.WiFiBand' = 0 + rssi: 'int' = 0 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'typing.Optional[str]' = None + class Commands: @dataclass - class ProductLabel(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0028 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000E + class ScanNetworks(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0031 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="ssid", Tag=0, Type=typing.Union[None, Nullable, bytes]), + ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=1, Type=typing.Optional[uint]), + ]) - value: 'typing.Optional[str]' = None + ssid: 'typing.Union[None, Nullable, bytes]' = None + breadcrumb: 'typing.Optional[uint]' = None @dataclass - class SerialNumber(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0028 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000F + class ScanNetworksResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0031 + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="networkingStatus", Tag=0, Type=NetworkCommissioning.Enums.NetworkCommissioningStatus), + ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="wiFiScanResults", Tag=2, Type=typing.Optional[typing.List[NetworkCommissioning.Structs.WiFiInterfaceScanResult]]), + ClusterObjectFieldDescriptor(Label="threadScanResults", Tag=3, Type=typing.Optional[typing.List[NetworkCommissioning.Structs.ThreadInterfaceScanResult]]), + ]) - value: 'typing.Optional[str]' = None + networkingStatus: 'NetworkCommissioning.Enums.NetworkCommissioningStatus' = 0 + debugText: 'typing.Optional[str]' = None + wiFiScanResults: 'typing.Optional[typing.List[NetworkCommissioning.Structs.WiFiInterfaceScanResult]]' = None + threadScanResults: 'typing.Optional[typing.List[NetworkCommissioning.Structs.ThreadInterfaceScanResult]]' = None @dataclass - class LocalConfigDisabled(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0028 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000010 + class AddOrUpdateWiFiNetwork(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0031 + command_id: typing.ClassVar[int] = 0x0002 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="ssid", Tag=0, Type=bytes), + ClusterObjectFieldDescriptor(Label="credentials", Tag=1, Type=bytes), + ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=2, Type=typing.Optional[uint]), + ]) - value: 'typing.Optional[bool]' = None + ssid: 'bytes' = b"" + credentials: 'bytes' = b"" + breadcrumb: 'typing.Optional[uint]' = None @dataclass - class Reachable(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0028 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000011 + class AddOrUpdateThreadNetwork(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0031 + command_id: typing.ClassVar[int] = 0x0003 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="operationalDataset", Tag=0, Type=bytes), + ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=1, Type=typing.Optional[uint]), + ]) - value: 'typing.Optional[bool]' = None + operationalDataset: 'bytes' = b"" + breadcrumb: 'typing.Optional[uint]' = None @dataclass - class UniqueID(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0028 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000012 + class RemoveNetwork(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0031 + command_id: typing.ClassVar[int] = 0x0004 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="networkID", Tag=0, Type=bytes), + ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=1, Type=typing.Optional[uint]), + ]) - value: 'typing.Optional[str]' = None + networkID: 'bytes' = b"" + breadcrumb: 'typing.Optional[uint]' = None @dataclass - class CapabilityMinima(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0028 + class NetworkConfigResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0031 + command_id: typing.ClassVar[int] = 0x0005 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000013 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="networkingStatus", Tag=0, Type=NetworkCommissioning.Enums.NetworkCommissioningStatus), + ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="networkIndex", Tag=2, Type=typing.Optional[uint]), + ]) - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=Basic.Structs.CapabilityMinimaStruct) + networkingStatus: 'NetworkCommissioning.Enums.NetworkCommissioningStatus' = 0 + debugText: 'typing.Optional[str]' = None + networkIndex: 'typing.Optional[uint]' = None - value: 'Basic.Structs.CapabilityMinimaStruct' = field(default_factory=lambda: Basic.Structs.CapabilityMinimaStruct()) + @dataclass + class ConnectNetwork(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0031 + command_id: typing.ClassVar[int] = 0x0006 + is_client: typing.ClassVar[bool] = True + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="networkID", Tag=0, Type=bytes), + ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=1, Type=typing.Optional[uint]), + ]) + + networkID: 'bytes' = b"" + breadcrumb: 'typing.Optional[uint]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class ConnectNetworkResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0031 + command_id: typing.ClassVar[int] = 0x0007 + is_client: typing.ClassVar[bool] = False + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="networkingStatus", Tag=0, Type=NetworkCommissioning.Enums.NetworkCommissioningStatus), + ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="errorValue", Tag=2, Type=typing.Union[Nullable, int]), + ]) + + networkingStatus: 'NetworkCommissioning.Enums.NetworkCommissioningStatus' = 0 + debugText: 'typing.Optional[str]' = None + errorValue: 'typing.Union[Nullable, int]' = NullValue + + @dataclass + class ReorderNetwork(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0031 + command_id: typing.ClassVar[int] = 0x0008 + is_client: typing.ClassVar[bool] = True + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="networkID", Tag=0, Type=bytes), + ClusterObjectFieldDescriptor(Label="networkIndex", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=2, Type=typing.Optional[uint]), + ]) + + networkID: 'bytes' = b"" + networkIndex: 'uint' = 0 + breadcrumb: 'typing.Optional[uint]' = None + + + class Attributes: + @dataclass + class MaxNetworks(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0031 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'uint' = 0 @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class Networks(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0031 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[NetworkCommissioning.Structs.NetworkInfo]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.List[NetworkCommissioning.Structs.NetworkInfo]' = field(default_factory=lambda: []) @dataclass - class AttributeList(ClusterAttributeDescriptor): + class ScanMaxTimeSeconds(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0031 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class ConnectMaxTimeSeconds(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0031 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'uint' = 0 + value: 'typing.Optional[uint]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class InterfaceEnabled(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0031 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000004 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=bool) - value: 'uint' = 0 + value: 'bool' = False + @dataclass + class LastNetworkingStatus(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0031 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, NetworkCommissioning.Enums.NetworkCommissioningStatus]) + + value: 'typing.Union[Nullable, NetworkCommissioning.Enums.NetworkCommissioningStatus]' = NullValue - class Events: @dataclass - class StartUp(ClusterEvent): + class LastNetworkID(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0031 @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000000 + def attribute_id(cls) -> int: + return 0x00000006 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=0, Type=uint), - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, bytes]) - softwareVersion: 'uint' = 0 + value: 'typing.Union[Nullable, bytes]' = NullValue @dataclass - class ShutDown(ClusterEvent): + class LastConnectErrorValue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0031 @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000001 + def attribute_id(cls) -> int: + return 0x00000007 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) + value: 'typing.Union[Nullable, int]' = NullValue @dataclass - class Leave(ClusterEvent): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0031 @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000002 + def attribute_id(cls) -> int: + return 0x0000FFF8 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class ReachableChanged(ClusterEvent): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0028 + return 0x0031 @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000003 + def attribute_id(cls) -> int: + return 0x0000FFF9 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="reachableNewValue", Tag=0, Type=bool), - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + + value: 'typing.List[uint]' = field(default_factory=lambda: []) + + @dataclass + class AttributeList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0031 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFB + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + + value: 'typing.List[uint]' = field(default_factory=lambda: []) + + @dataclass + class FeatureMap(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0031 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFC + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 + + @dataclass + class ClusterRevision(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0031 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFD + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 - reachableNewValue: 'bool' = False @dataclass -class OtaSoftwareUpdateProvider(Cluster): - id: typing.ClassVar[int] = 0x0029 +class DiagnosticLogs(Cluster): + id: typing.ClassVar[int] = 0x0032 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: @@ -7388,29 +6938,28 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Enums: - class OTAApplyUpdateAction(IntEnum): - kProceed = 0x00 - kAwaitNextAction = 0x01 - kDiscontinue = 0x02 - - class OTADownloadProtocol(IntEnum): - kBDXSynchronous = 0x00 - kBDXAsynchronous = 0x01 - kHttps = 0x02 - kVendorSpecific = 0x03 + class LogsIntent(IntEnum): + kEndUserSupport = 0x00 + kNetworkDiag = 0x01 + kCrashLogs = 0x02 - class OTAQueryStatus(IntEnum): - kUpdateAvailable = 0x00 - kBusy = 0x01 - kNotAvailable = 0x02 - kDownloadProtocolNotSupported = 0x03 + class LogsStatus(IntEnum): + kSuccess = 0x00 + kExhausted = 0x01 + kNoLogs = 0x02 + kBusy = 0x03 + kDenied = 0x04 + + class LogsTransferProtocol(IntEnum): + kResponsePayload = 0x00 + kBdx = 0x01 class Commands: @dataclass - class QueryImage(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0029 + class RetrieveLogsRequest(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0032 command_id: typing.ClassVar[int] = 0x0000 is_client: typing.ClassVar[bool] = True @@ -7418,28 +6967,18 @@ class QueryImage(ClusterCommand): def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="vendorId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="productId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="protocolsSupported", Tag=3, Type=typing.List[OtaSoftwareUpdateProvider.Enums.OTADownloadProtocol]), - ClusterObjectFieldDescriptor(Label="hardwareVersion", Tag=4, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="location", Tag=5, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="requestorCanConsent", Tag=6, Type=typing.Optional[bool]), - ClusterObjectFieldDescriptor(Label="metadataForProvider", Tag=7, Type=typing.Optional[bytes]), + ClusterObjectFieldDescriptor(Label="intent", Tag=0, Type=DiagnosticLogs.Enums.LogsIntent), + ClusterObjectFieldDescriptor(Label="requestedProtocol", Tag=1, Type=DiagnosticLogs.Enums.LogsTransferProtocol), + ClusterObjectFieldDescriptor(Label="transferFileDesignator", Tag=2, Type=bytes), ]) - vendorId: 'uint' = 0 - productId: 'uint' = 0 - softwareVersion: 'uint' = 0 - protocolsSupported: 'typing.List[OtaSoftwareUpdateProvider.Enums.OTADownloadProtocol]' = field(default_factory=lambda: []) - hardwareVersion: 'typing.Optional[uint]' = None - location: 'typing.Optional[str]' = None - requestorCanConsent: 'typing.Optional[bool]' = None - metadataForProvider: 'typing.Optional[bytes]' = None + intent: 'DiagnosticLogs.Enums.LogsIntent' = 0 + requestedProtocol: 'DiagnosticLogs.Enums.LogsTransferProtocol' = 0 + transferFileDesignator: 'bytes' = b"" @dataclass - class QueryImageResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0029 + class RetrieveLogsResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0032 command_id: typing.ClassVar[int] = 0x0001 is_client: typing.ClassVar[bool] = False @@ -7447,75 +6986,16 @@ class QueryImageResponse(ClusterCommand): def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=OtaSoftwareUpdateProvider.Enums.OTAQueryStatus), - ClusterObjectFieldDescriptor(Label="delayedActionTime", Tag=1, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="imageURI", Tag=2, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=3, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="softwareVersionString", Tag=4, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="updateToken", Tag=5, Type=typing.Optional[bytes]), - ClusterObjectFieldDescriptor(Label="userConsentNeeded", Tag=6, Type=typing.Optional[bool]), - ClusterObjectFieldDescriptor(Label="metadataForRequestor", Tag=7, Type=typing.Optional[bytes]), - ]) - - status: 'OtaSoftwareUpdateProvider.Enums.OTAQueryStatus' = 0 - delayedActionTime: 'typing.Optional[uint]' = None - imageURI: 'typing.Optional[str]' = None - softwareVersion: 'typing.Optional[uint]' = None - softwareVersionString: 'typing.Optional[str]' = None - updateToken: 'typing.Optional[bytes]' = None - userConsentNeeded: 'typing.Optional[bool]' = None - metadataForRequestor: 'typing.Optional[bytes]' = None - - @dataclass - class ApplyUpdateRequest(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0029 - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="updateToken", Tag=0, Type=bytes), - ClusterObjectFieldDescriptor(Label="newVersion", Tag=1, Type=uint), - ]) - - updateToken: 'bytes' = b"" - newVersion: 'uint' = 0 - - @dataclass - class ApplyUpdateResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0029 - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="action", Tag=0, Type=OtaSoftwareUpdateProvider.Enums.OTAApplyUpdateAction), - ClusterObjectFieldDescriptor(Label="delayedActionTime", Tag=1, Type=uint), - ]) - - action: 'OtaSoftwareUpdateProvider.Enums.OTAApplyUpdateAction' = 0 - delayedActionTime: 'uint' = 0 - - @dataclass - class NotifyUpdateApplied(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0029 - command_id: typing.ClassVar[int] = 0x0004 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="updateToken", Tag=0, Type=bytes), - ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=DiagnosticLogs.Enums.LogsStatus), + ClusterObjectFieldDescriptor(Label="content", Tag=1, Type=bytes), + ClusterObjectFieldDescriptor(Label="timeStamp", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="timeSinceBoot", Tag=3, Type=uint), ]) - updateToken: 'bytes' = b"" - softwareVersion: 'uint' = 0 + status: 'DiagnosticLogs.Enums.LogsStatus' = 0 + content: 'bytes' = b"" + timeStamp: 'uint' = 0 + timeSinceBoot: 'uint' = 0 class Attributes: @@ -7523,7 +7003,7 @@ class Attributes: class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0029 + return 0x0032 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -7539,7 +7019,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0029 + return 0x0032 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -7555,7 +7035,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0029 + return 0x0032 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -7571,7 +7051,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0029 + return 0x0032 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -7587,7 +7067,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0029 + return 0x0032 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -7602,17 +7082,22 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class OtaSoftwareUpdateRequestor(Cluster): - id: typing.ClassVar[int] = 0x002A +class GeneralDiagnostics(Cluster): + id: typing.ClassVar[int] = 0x0033 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="defaultOtaProviders", Tag=0x00000000, Type=typing.List[OtaSoftwareUpdateRequestor.Structs.ProviderLocation]), - ClusterObjectFieldDescriptor(Label="updatePossible", Tag=0x00000001, Type=bool), - ClusterObjectFieldDescriptor(Label="updateState", Tag=0x00000002, Type=OtaSoftwareUpdateRequestor.Enums.OTAUpdateStateEnum), - ClusterObjectFieldDescriptor(Label="updateStateProgress", Tag=0x00000003, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="networkInterfaces", Tag=0x00000000, Type=typing.List[GeneralDiagnostics.Structs.NetworkInterfaceType]), + ClusterObjectFieldDescriptor(Label="rebootCount", Tag=0x00000001, Type=uint), + ClusterObjectFieldDescriptor(Label="upTime", Tag=0x00000002, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="totalOperationalHours", Tag=0x00000003, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="bootReasons", Tag=0x00000004, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="activeHardwareFaults", Tag=0x00000005, Type=typing.Optional[typing.List[uint]]), + ClusterObjectFieldDescriptor(Label="activeRadioFaults", Tag=0x00000006, Type=typing.Optional[typing.List[uint]]), + ClusterObjectFieldDescriptor(Label="activeNetworkFaults", Tag=0x00000007, Type=typing.Optional[typing.List[uint]]), + ClusterObjectFieldDescriptor(Label="testEventTriggersEnabled", Tag=0x00000008, Type=bool), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -7620,10 +7105,15 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - defaultOtaProviders: 'typing.List[OtaSoftwareUpdateRequestor.Structs.ProviderLocation]' = None - updatePossible: 'bool' = None - updateState: 'OtaSoftwareUpdateRequestor.Enums.OTAUpdateStateEnum' = None - updateStateProgress: 'typing.Union[Nullable, uint]' = None + networkInterfaces: 'typing.List[GeneralDiagnostics.Structs.NetworkInterfaceType]' = None + rebootCount: 'uint' = None + upTime: 'typing.Optional[uint]' = None + totalOperationalHours: 'typing.Optional[uint]' = None + bootReasons: 'typing.Optional[uint]' = None + activeHardwareFaults: 'typing.Optional[typing.List[uint]]' = None + activeRadioFaults: 'typing.Optional[typing.List[uint]]' = None + activeNetworkFaults: 'typing.Optional[typing.List[uint]]' = None + testEventTriggersEnabled: 'bool' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None @@ -7631,52 +7121,83 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Enums: - class OTAAnnouncementReason(IntEnum): - kSimpleAnnouncement = 0x00 - kUpdateAvailable = 0x01 - kUrgentUpdateAvailable = 0x02 + class BootReasonType(IntEnum): + kUnspecified = 0x00 + kPowerOnReboot = 0x01 + kBrownOutReset = 0x02 + kSoftwareWatchdogReset = 0x03 + kHardwareWatchdogReset = 0x04 + kSoftwareUpdateCompleted = 0x05 + kSoftwareReset = 0x06 - class OTAChangeReasonEnum(IntEnum): - kUnknown = 0x00 - kSuccess = 0x01 - kFailure = 0x02 - kTimeOut = 0x03 - kDelayByProvider = 0x04 + class HardwareFaultType(IntEnum): + kUnspecified = 0x00 + kRadio = 0x01 + kSensor = 0x02 + kResettableOverTemp = 0x03 + kNonResettableOverTemp = 0x04 + kPowerSource = 0x05 + kVisualDisplayFault = 0x06 + kAudioOutputFault = 0x07 + kUserInterfaceFault = 0x08 + kNonVolatileMemoryError = 0x09 + kTamperDetected = 0x0A - class OTAUpdateStateEnum(IntEnum): - kUnknown = 0x00 - kIdle = 0x01 - kQuerying = 0x02 - kDelayedOnQuery = 0x03 - kDownloading = 0x04 - kApplying = 0x05 - kDelayedOnApply = 0x06 - kRollingBack = 0x07 - kDelayedOnUserConsent = 0x08 + class InterfaceType(IntEnum): + kUnspecified = 0x00 + kWiFi = 0x01 + kEthernet = 0x02 + kCellular = 0x03 + kThread = 0x04 + + class NetworkFaultType(IntEnum): + kUnspecified = 0x00 + kHardwareFailure = 0x01 + kNetworkJammed = 0x02 + kConnectionFailed = 0x03 + + class RadioFaultType(IntEnum): + kUnspecified = 0x00 + kWiFiFault = 0x01 + kCellularFault = 0x02 + kThreadFault = 0x03 + kNFCFault = 0x04 + kBLEFault = 0x05 + kEthernetFault = 0x06 class Structs: @dataclass - class ProviderLocation(ClusterObject): + class NetworkInterfaceType(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="providerNodeID", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="endpoint", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint), + ClusterObjectFieldDescriptor(Label="name", Tag=0, Type=str), + ClusterObjectFieldDescriptor(Label="isOperational", Tag=1, Type=bool), + ClusterObjectFieldDescriptor(Label="offPremiseServicesReachableIPv4", Tag=2, Type=typing.Union[Nullable, bool]), + ClusterObjectFieldDescriptor(Label="offPremiseServicesReachableIPv6", Tag=3, Type=typing.Union[Nullable, bool]), + ClusterObjectFieldDescriptor(Label="hardwareAddress", Tag=4, Type=bytes), + ClusterObjectFieldDescriptor(Label="IPv4Addresses", Tag=5, Type=typing.List[bytes]), + ClusterObjectFieldDescriptor(Label="IPv6Addresses", Tag=6, Type=typing.List[bytes]), + ClusterObjectFieldDescriptor(Label="type", Tag=7, Type=GeneralDiagnostics.Enums.InterfaceType), ]) - providerNodeID: 'uint' = 0 - endpoint: 'uint' = 0 - fabricIndex: 'uint' = 0 + name: 'str' = "" + isOperational: 'bool' = False + offPremiseServicesReachableIPv4: 'typing.Union[Nullable, bool]' = NullValue + offPremiseServicesReachableIPv6: 'typing.Union[Nullable, bool]' = NullValue + hardwareAddress: 'bytes' = b"" + IPv4Addresses: 'typing.List[bytes]' = field(default_factory=lambda: []) + IPv6Addresses: 'typing.List[bytes]' = field(default_factory=lambda: []) + type: 'GeneralDiagnostics.Enums.InterfaceType' = 0 class Commands: @dataclass - class AnnounceOtaProvider(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x002A + class TestEventTrigger(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0033 command_id: typing.ClassVar[int] = 0x0000 is_client: typing.ClassVar[bool] = True @@ -7684,26 +7205,20 @@ class AnnounceOtaProvider(ClusterCommand): def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="providerNodeId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="vendorId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="announcementReason", Tag=2, Type=OtaSoftwareUpdateRequestor.Enums.OTAAnnouncementReason), - ClusterObjectFieldDescriptor(Label="metadataForNode", Tag=3, Type=typing.Optional[bytes]), - ClusterObjectFieldDescriptor(Label="endpoint", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="enableKey", Tag=0, Type=bytes), + ClusterObjectFieldDescriptor(Label="eventTrigger", Tag=1, Type=uint), ]) - providerNodeId: 'uint' = 0 - vendorId: 'uint' = 0 - announcementReason: 'OtaSoftwareUpdateRequestor.Enums.OTAAnnouncementReason' = 0 - metadataForNode: 'typing.Optional[bytes]' = None - endpoint: 'uint' = 0 + enableKey: 'bytes' = b"" + eventTrigger: 'uint' = 0 class Attributes: @dataclass - class DefaultOtaProviders(ClusterAttributeDescriptor): + class NetworkInterfaces(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002A + return 0x0033 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -7711,15 +7226,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[OtaSoftwareUpdateRequestor.Structs.ProviderLocation]) + return ClusterObjectFieldDescriptor(Type=typing.List[GeneralDiagnostics.Structs.NetworkInterfaceType]) - value: 'typing.List[OtaSoftwareUpdateRequestor.Structs.ProviderLocation]' = field(default_factory=lambda: []) + value: 'typing.List[GeneralDiagnostics.Structs.NetworkInterfaceType]' = field(default_factory=lambda: []) @dataclass - class UpdatePossible(ClusterAttributeDescriptor): + class RebootCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002A + return 0x0033 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -7727,15 +7242,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'bool' = False + value: 'uint' = 0 @dataclass - class UpdateState(ClusterAttributeDescriptor): + class UpTime(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002A + return 0x0033 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -7743,15 +7258,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=OtaSoftwareUpdateRequestor.Enums.OTAUpdateStateEnum) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'OtaSoftwareUpdateRequestor.Enums.OTAUpdateStateEnum' = 0 + value: 'typing.Optional[uint]' = None @dataclass - class UpdateStateProgress(ClusterAttributeDescriptor): + class TotalOperationalHours(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002A + return 0x0033 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -7759,15 +7274,95 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[Nullable, uint]' = NullValue + value: 'typing.Optional[uint]' = None + + @dataclass + class BootReasons(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0033 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000004 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None + + @dataclass + class ActiveHardwareFaults(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0033 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[uint]]) + + value: 'typing.Optional[typing.List[uint]]' = None + + @dataclass + class ActiveRadioFaults(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0033 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000006 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[uint]]) + + value: 'typing.Optional[typing.List[uint]]' = None + + @dataclass + class ActiveNetworkFaults(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0033 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000007 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[uint]]) + + value: 'typing.Optional[typing.List[uint]]' = None + + @dataclass + class TestEventTriggersEnabled(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0033 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000008 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=bool) + + value: 'bool' = False @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002A + return 0x0033 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -7783,7 +7378,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002A + return 0x0033 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -7799,7 +7394,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002A + return 0x0033 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -7815,7 +7410,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002A + return 0x0033 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -7831,7 +7426,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002A + return 0x0033 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -7846,10 +7441,10 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class Events: @dataclass - class StateTransition(ClusterEvent): + class HardwareFaultChange(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002A + return 0x0033 @ChipUtility.classproperty def event_id(cls) -> int: @@ -7859,22 +7454,18 @@ def event_id(cls) -> int: def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="previousState", Tag=0, Type=OtaSoftwareUpdateRequestor.Enums.OTAUpdateStateEnum), - ClusterObjectFieldDescriptor(Label="newState", Tag=1, Type=OtaSoftwareUpdateRequestor.Enums.OTAUpdateStateEnum), - ClusterObjectFieldDescriptor(Label="reason", Tag=2, Type=OtaSoftwareUpdateRequestor.Enums.OTAChangeReasonEnum), - ClusterObjectFieldDescriptor(Label="targetSoftwareVersion", Tag=3, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="current", Tag=0, Type=typing.List[GeneralDiagnostics.Enums.HardwareFaultType]), + ClusterObjectFieldDescriptor(Label="previous", Tag=1, Type=typing.List[GeneralDiagnostics.Enums.HardwareFaultType]), ]) - previousState: 'OtaSoftwareUpdateRequestor.Enums.OTAUpdateStateEnum' = 0 - newState: 'OtaSoftwareUpdateRequestor.Enums.OTAUpdateStateEnum' = 0 - reason: 'OtaSoftwareUpdateRequestor.Enums.OTAChangeReasonEnum' = 0 - targetSoftwareVersion: 'typing.Union[Nullable, uint]' = NullValue + current: 'typing.List[GeneralDiagnostics.Enums.HardwareFaultType]' = field(default_factory=lambda: []) + previous: 'typing.List[GeneralDiagnostics.Enums.HardwareFaultType]' = field(default_factory=lambda: []) @dataclass - class VersionApplied(ClusterEvent): + class RadioFaultChange(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002A + return 0x0033 @ChipUtility.classproperty def event_id(cls) -> int: @@ -7884,18 +7475,18 @@ def event_id(cls) -> int: def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="productID", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="current", Tag=0, Type=typing.List[GeneralDiagnostics.Enums.RadioFaultType]), + ClusterObjectFieldDescriptor(Label="previous", Tag=1, Type=typing.List[GeneralDiagnostics.Enums.RadioFaultType]), ]) - softwareVersion: 'uint' = 0 - productID: 'uint' = 0 + current: 'typing.List[GeneralDiagnostics.Enums.RadioFaultType]' = field(default_factory=lambda: []) + previous: 'typing.List[GeneralDiagnostics.Enums.RadioFaultType]' = field(default_factory=lambda: []) @dataclass - class DownloadError(ClusterEvent): + class NetworkFaultChange(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002A + return 0x0033 @ChipUtility.classproperty def event_id(cls) -> int: @@ -7905,28 +7496,45 @@ def event_id(cls) -> int: def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="bytesDownloaded", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="progressPercent", Tag=2, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="platformCode", Tag=3, Type=typing.Union[Nullable, int]), + ClusterObjectFieldDescriptor(Label="current", Tag=0, Type=typing.List[GeneralDiagnostics.Enums.NetworkFaultType]), + ClusterObjectFieldDescriptor(Label="previous", Tag=1, Type=typing.List[GeneralDiagnostics.Enums.NetworkFaultType]), ]) - softwareVersion: 'uint' = 0 - bytesDownloaded: 'uint' = 0 - progressPercent: 'typing.Union[Nullable, uint]' = NullValue - platformCode: 'typing.Union[Nullable, int]' = NullValue + current: 'typing.List[GeneralDiagnostics.Enums.NetworkFaultType]' = field(default_factory=lambda: []) + previous: 'typing.List[GeneralDiagnostics.Enums.NetworkFaultType]' = field(default_factory=lambda: []) + + @dataclass + class BootReason(ClusterEvent): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0033 + + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000003 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="bootReason", Tag=0, Type=GeneralDiagnostics.Enums.BootReasonType), + ]) + + bootReason: 'GeneralDiagnostics.Enums.BootReasonType' = 0 @dataclass -class LocalizationConfiguration(Cluster): - id: typing.ClassVar[int] = 0x002B +class SoftwareDiagnostics(Cluster): + id: typing.ClassVar[int] = 0x0034 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="activeLocale", Tag=0x00000000, Type=str), - ClusterObjectFieldDescriptor(Label="supportedLocales", Tag=0x00000001, Type=typing.List[str]), + ClusterObjectFieldDescriptor(Label="threadMetrics", Tag=0x00000000, Type=typing.Optional[typing.List[SoftwareDiagnostics.Structs.ThreadMetrics]]), + ClusterObjectFieldDescriptor(Label="currentHeapFree", Tag=0x00000001, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="currentHeapUsed", Tag=0x00000002, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="currentHeapHighWatermark", Tag=0x00000003, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -7934,8 +7542,10 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - activeLocale: 'str' = None - supportedLocales: 'typing.List[str]' = None + threadMetrics: 'typing.Optional[typing.List[SoftwareDiagnostics.Structs.ThreadMetrics]]' = None + currentHeapFree: 'typing.Optional[uint]' = None + currentHeapUsed: 'typing.Optional[uint]' = None + currentHeapHighWatermark: 'typing.Optional[uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None @@ -7943,14 +7553,49 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None + class Structs: + @dataclass + class ThreadMetrics(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="id", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="stackFreeCurrent", Tag=2, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="stackFreeMinimum", Tag=3, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="stackSize", Tag=4, Type=typing.Optional[uint]), + ]) + + id: 'uint' = 0 + name: 'typing.Optional[str]' = None + stackFreeCurrent: 'typing.Optional[uint]' = None + stackFreeMinimum: 'typing.Optional[uint]' = None + stackSize: 'typing.Optional[uint]' = None + + + + class Commands: + @dataclass + class ResetWatermarks(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0034 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) + class Attributes: @dataclass - class ActiveLocale(ClusterAttributeDescriptor): + class ThreadMetrics(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002B + return 0x0034 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -7958,15 +7603,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[SoftwareDiagnostics.Structs.ThreadMetrics]]) - value: 'str' = "" + value: 'typing.Optional[typing.List[SoftwareDiagnostics.Structs.ThreadMetrics]]' = None @dataclass - class SupportedLocales(ClusterAttributeDescriptor): + class CurrentHeapFree(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002B + return 0x0034 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -7974,195 +7619,47 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[str]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[str]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x002B - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x002B - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x002B - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x002B - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x002B - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class TimeFormatLocalization(Cluster): - id: typing.ClassVar[int] = 0x002C - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="hourFormat", Tag=0x00000000, Type=TimeFormatLocalization.Enums.HourFormat), - ClusterObjectFieldDescriptor(Label="activeCalendarType", Tag=0x00000001, Type=typing.Optional[TimeFormatLocalization.Enums.CalendarType]), - ClusterObjectFieldDescriptor(Label="supportedCalendarTypes", Tag=0x00000002, Type=typing.Optional[typing.List[TimeFormatLocalization.Enums.CalendarType]]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - hourFormat: 'TimeFormatLocalization.Enums.HourFormat' = None - activeCalendarType: 'typing.Optional[TimeFormatLocalization.Enums.CalendarType]' = None - supportedCalendarTypes: 'typing.Optional[typing.List[TimeFormatLocalization.Enums.CalendarType]]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - class Enums: - class CalendarType(IntEnum): - kBuddhist = 0x00 - kChinese = 0x01 - kCoptic = 0x02 - kEthiopian = 0x03 - kGregorian = 0x04 - kHebrew = 0x05 - kIndian = 0x06 - kIslamic = 0x07 - kJapanese = 0x08 - kKorean = 0x09 - kPersian = 0x0A - kTaiwanese = 0x0B - - class HourFormat(IntEnum): - k12hr = 0x00 - k24hr = 0x01 - - - - - class Attributes: - @dataclass - class HourFormat(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x002C - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=TimeFormatLocalization.Enums.HourFormat) - - value: 'TimeFormatLocalization.Enums.HourFormat' = 0 - - @dataclass - class ActiveCalendarType(ClusterAttributeDescriptor): + class CurrentHeapUsed(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002C + return 0x0034 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[TimeFormatLocalization.Enums.CalendarType]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[TimeFormatLocalization.Enums.CalendarType]' = None + value: 'typing.Optional[uint]' = None @dataclass - class SupportedCalendarTypes(ClusterAttributeDescriptor): + class CurrentHeapHighWatermark(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002C + return 0x0034 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[TimeFormatLocalization.Enums.CalendarType]]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[typing.List[TimeFormatLocalization.Enums.CalendarType]]' = None + value: 'typing.Optional[uint]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002C + return 0x0034 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -8178,7 +7675,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002C + return 0x0034 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -8194,7 +7691,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002C + return 0x0034 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -8210,7 +7707,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002C + return 0x0034 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -8226,7 +7723,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002C + return 0x0034 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -8239,147 +7736,102 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 - -@dataclass -class UnitLocalization(Cluster): - id: typing.ClassVar[int] = 0x002D - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="temperatureUnit", Tag=0x00000000, Type=typing.Optional[UnitLocalization.Enums.TempUnit]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - temperatureUnit: 'typing.Optional[UnitLocalization.Enums.TempUnit]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - class Enums: - class TempUnit(IntEnum): - kFahrenheit = 0x00 - kCelsius = 0x01 - kKelvin = 0x02 - - - - - class Attributes: + class Events: @dataclass - class TemperatureUnit(ClusterAttributeDescriptor): + class SoftwareFault(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002D + return 0x0034 @ChipUtility.classproperty - def attribute_id(cls) -> int: + def event_id(cls) -> int: return 0x00000000 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[UnitLocalization.Enums.TempUnit]) - - value: 'typing.Optional[UnitLocalization.Enums.TempUnit]' = None - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x002D - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="id", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="faultRecording", Tag=2, Type=typing.Optional[bytes]), + ]) - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + id: 'uint' = 0 + name: 'typing.Optional[str]' = None + faultRecording: 'typing.Optional[bytes]' = None - value: 'typing.List[uint]' = field(default_factory=lambda: []) - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x002D - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x002D - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x002D - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x002D - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class PowerSourceConfiguration(Cluster): - id: typing.ClassVar[int] = 0x002E +@dataclass +class ThreadNetworkDiagnostics(Cluster): + id: typing.ClassVar[int] = 0x0035 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="sources", Tag=0x00000000, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="channel", Tag=0x00000000, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="routingRole", Tag=0x00000001, Type=typing.Union[Nullable, ThreadNetworkDiagnostics.Enums.RoutingRole]), + ClusterObjectFieldDescriptor(Label="networkName", Tag=0x00000002, Type=typing.Union[Nullable, str]), + ClusterObjectFieldDescriptor(Label="panId", Tag=0x00000003, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="extendedPanId", Tag=0x00000004, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="meshLocalPrefix", Tag=0x00000005, Type=typing.Union[Nullable, bytes]), + ClusterObjectFieldDescriptor(Label="overrunCount", Tag=0x00000006, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="neighborTableList", Tag=0x00000007, Type=typing.List[ThreadNetworkDiagnostics.Structs.NeighborTable]), + ClusterObjectFieldDescriptor(Label="routeTableList", Tag=0x00000008, Type=typing.List[ThreadNetworkDiagnostics.Structs.RouteTable]), + ClusterObjectFieldDescriptor(Label="partitionId", Tag=0x00000009, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="weighting", Tag=0x0000000A, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="dataVersion", Tag=0x0000000B, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="stableDataVersion", Tag=0x0000000C, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="leaderRouterId", Tag=0x0000000D, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="detachedRoleCount", Tag=0x0000000E, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="childRoleCount", Tag=0x0000000F, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="routerRoleCount", Tag=0x00000010, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="leaderRoleCount", Tag=0x00000011, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="attachAttemptCount", Tag=0x00000012, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="partitionIdChangeCount", Tag=0x00000013, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="betterPartitionAttachAttemptCount", Tag=0x00000014, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="parentChangeCount", Tag=0x00000015, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txTotalCount", Tag=0x00000016, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txUnicastCount", Tag=0x00000017, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txBroadcastCount", Tag=0x00000018, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txAckRequestedCount", Tag=0x00000019, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txAckedCount", Tag=0x0000001A, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txNoAckRequestedCount", Tag=0x0000001B, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txDataCount", Tag=0x0000001C, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txDataPollCount", Tag=0x0000001D, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txBeaconCount", Tag=0x0000001E, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txBeaconRequestCount", Tag=0x0000001F, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txOtherCount", Tag=0x00000020, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txRetryCount", Tag=0x00000021, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txDirectMaxRetryExpiryCount", Tag=0x00000022, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txIndirectMaxRetryExpiryCount", Tag=0x00000023, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txErrCcaCount", Tag=0x00000024, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txErrAbortCount", Tag=0x00000025, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txErrBusyChannelCount", Tag=0x00000026, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rxTotalCount", Tag=0x00000027, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rxUnicastCount", Tag=0x00000028, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rxBroadcastCount", Tag=0x00000029, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rxDataCount", Tag=0x0000002A, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rxDataPollCount", Tag=0x0000002B, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rxBeaconCount", Tag=0x0000002C, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rxBeaconRequestCount", Tag=0x0000002D, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rxOtherCount", Tag=0x0000002E, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rxAddressFilteredCount", Tag=0x0000002F, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rxDestAddrFilteredCount", Tag=0x00000030, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rxDuplicatedCount", Tag=0x00000031, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rxErrNoFrameCount", Tag=0x00000032, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rxErrUnknownNeighborCount", Tag=0x00000033, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rxErrInvalidSrcAddrCount", Tag=0x00000034, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rxErrSecCount", Tag=0x00000035, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rxErrFcsCount", Tag=0x00000036, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rxErrOtherCount", Tag=0x00000037, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="activeTimestamp", Tag=0x00000038, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="pendingTimestamp", Tag=0x00000039, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="delay", Tag=0x0000003A, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="securityPolicy", Tag=0x0000003B, Type=typing.Union[Nullable, ThreadNetworkDiagnostics.Structs.SecurityPolicy]), + ClusterObjectFieldDescriptor(Label="channelMask", Tag=0x0000003C, Type=typing.Union[Nullable, bytes]), + ClusterObjectFieldDescriptor(Label="operationalDatasetComponents", Tag=0x0000003D, Type=typing.Union[Nullable, ThreadNetworkDiagnostics.Structs.OperationalDatasetComponents]), + ClusterObjectFieldDescriptor(Label="activeNetworkFaultsList", Tag=0x0000003E, Type=typing.List[ThreadNetworkDiagnostics.Enums.NetworkFault]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -8387,415 +7839,476 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - sources: 'typing.List[uint]' = None + channel: 'typing.Union[Nullable, uint]' = None + routingRole: 'typing.Union[Nullable, ThreadNetworkDiagnostics.Enums.RoutingRole]' = None + networkName: 'typing.Union[Nullable, str]' = None + panId: 'typing.Union[Nullable, uint]' = None + extendedPanId: 'typing.Union[Nullable, uint]' = None + meshLocalPrefix: 'typing.Union[Nullable, bytes]' = None + overrunCount: 'typing.Optional[uint]' = None + neighborTableList: 'typing.List[ThreadNetworkDiagnostics.Structs.NeighborTable]' = None + routeTableList: 'typing.List[ThreadNetworkDiagnostics.Structs.RouteTable]' = None + partitionId: 'typing.Union[Nullable, uint]' = None + weighting: 'typing.Union[Nullable, uint]' = None + dataVersion: 'typing.Union[Nullable, uint]' = None + stableDataVersion: 'typing.Union[Nullable, uint]' = None + leaderRouterId: 'typing.Union[Nullable, uint]' = None + detachedRoleCount: 'typing.Optional[uint]' = None + childRoleCount: 'typing.Optional[uint]' = None + routerRoleCount: 'typing.Optional[uint]' = None + leaderRoleCount: 'typing.Optional[uint]' = None + attachAttemptCount: 'typing.Optional[uint]' = None + partitionIdChangeCount: 'typing.Optional[uint]' = None + betterPartitionAttachAttemptCount: 'typing.Optional[uint]' = None + parentChangeCount: 'typing.Optional[uint]' = None + txTotalCount: 'typing.Optional[uint]' = None + txUnicastCount: 'typing.Optional[uint]' = None + txBroadcastCount: 'typing.Optional[uint]' = None + txAckRequestedCount: 'typing.Optional[uint]' = None + txAckedCount: 'typing.Optional[uint]' = None + txNoAckRequestedCount: 'typing.Optional[uint]' = None + txDataCount: 'typing.Optional[uint]' = None + txDataPollCount: 'typing.Optional[uint]' = None + txBeaconCount: 'typing.Optional[uint]' = None + txBeaconRequestCount: 'typing.Optional[uint]' = None + txOtherCount: 'typing.Optional[uint]' = None + txRetryCount: 'typing.Optional[uint]' = None + txDirectMaxRetryExpiryCount: 'typing.Optional[uint]' = None + txIndirectMaxRetryExpiryCount: 'typing.Optional[uint]' = None + txErrCcaCount: 'typing.Optional[uint]' = None + txErrAbortCount: 'typing.Optional[uint]' = None + txErrBusyChannelCount: 'typing.Optional[uint]' = None + rxTotalCount: 'typing.Optional[uint]' = None + rxUnicastCount: 'typing.Optional[uint]' = None + rxBroadcastCount: 'typing.Optional[uint]' = None + rxDataCount: 'typing.Optional[uint]' = None + rxDataPollCount: 'typing.Optional[uint]' = None + rxBeaconCount: 'typing.Optional[uint]' = None + rxBeaconRequestCount: 'typing.Optional[uint]' = None + rxOtherCount: 'typing.Optional[uint]' = None + rxAddressFilteredCount: 'typing.Optional[uint]' = None + rxDestAddrFilteredCount: 'typing.Optional[uint]' = None + rxDuplicatedCount: 'typing.Optional[uint]' = None + rxErrNoFrameCount: 'typing.Optional[uint]' = None + rxErrUnknownNeighborCount: 'typing.Optional[uint]' = None + rxErrInvalidSrcAddrCount: 'typing.Optional[uint]' = None + rxErrSecCount: 'typing.Optional[uint]' = None + rxErrFcsCount: 'typing.Optional[uint]' = None + rxErrOtherCount: 'typing.Optional[uint]' = None + activeTimestamp: 'typing.Union[None, Nullable, uint]' = None + pendingTimestamp: 'typing.Union[None, Nullable, uint]' = None + delay: 'typing.Union[None, Nullable, uint]' = None + securityPolicy: 'typing.Union[Nullable, ThreadNetworkDiagnostics.Structs.SecurityPolicy]' = None + channelMask: 'typing.Union[Nullable, bytes]' = None + operationalDatasetComponents: 'typing.Union[Nullable, ThreadNetworkDiagnostics.Structs.OperationalDatasetComponents]' = None + activeNetworkFaultsList: 'typing.List[ThreadNetworkDiagnostics.Enums.NetworkFault]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None + class Enums: + class NetworkFault(IntEnum): + kUnspecified = 0x00 + kLinkDown = 0x01 + kHardwareFailure = 0x02 + kNetworkJammed = 0x03 + class RoutingRole(IntEnum): + kUnspecified = 0x00 + kUnassigned = 0x01 + kSleepyEndDevice = 0x02 + kEndDevice = 0x03 + kReed = 0x04 + kRouter = 0x05 + kLeader = 0x06 + class ThreadConnectionStatus(IntEnum): + kConnected = 0x00 + kNotConnected = 0x01 - class Attributes: - @dataclass - class Sources(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x002E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 + class Structs: + @dataclass + class NeighborTable(ClusterObject): @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="extAddress", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="age", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="rloc16", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="linkFrameCounter", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="mleFrameCounter", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="lqi", Tag=5, Type=uint), + ClusterObjectFieldDescriptor(Label="averageRssi", Tag=6, Type=typing.Union[Nullable, int]), + ClusterObjectFieldDescriptor(Label="lastRssi", Tag=7, Type=typing.Union[Nullable, int]), + ClusterObjectFieldDescriptor(Label="frameErrorRate", Tag=8, Type=uint), + ClusterObjectFieldDescriptor(Label="messageErrorRate", Tag=9, Type=uint), + ClusterObjectFieldDescriptor(Label="rxOnWhenIdle", Tag=10, Type=bool), + ClusterObjectFieldDescriptor(Label="fullThreadDevice", Tag=11, Type=bool), + ClusterObjectFieldDescriptor(Label="fullNetworkData", Tag=12, Type=bool), + ClusterObjectFieldDescriptor(Label="isChild", Tag=13, Type=bool), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + extAddress: 'uint' = 0 + age: 'uint' = 0 + rloc16: 'uint' = 0 + linkFrameCounter: 'uint' = 0 + mleFrameCounter: 'uint' = 0 + lqi: 'uint' = 0 + averageRssi: 'typing.Union[Nullable, int]' = NullValue + lastRssi: 'typing.Union[Nullable, int]' = NullValue + frameErrorRate: 'uint' = 0 + messageErrorRate: 'uint' = 0 + rxOnWhenIdle: 'bool' = False + fullThreadDevice: 'bool' = False + fullNetworkData: 'bool' = False + isChild: 'bool' = False @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class OperationalDatasetComponents(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="activeTimestampPresent", Tag=0, Type=bool), + ClusterObjectFieldDescriptor(Label="pendingTimestampPresent", Tag=1, Type=bool), + ClusterObjectFieldDescriptor(Label="masterKeyPresent", Tag=2, Type=bool), + ClusterObjectFieldDescriptor(Label="networkNamePresent", Tag=3, Type=bool), + ClusterObjectFieldDescriptor(Label="extendedPanIdPresent", Tag=4, Type=bool), + ClusterObjectFieldDescriptor(Label="meshLocalPrefixPresent", Tag=5, Type=bool), + ClusterObjectFieldDescriptor(Label="delayPresent", Tag=6, Type=bool), + ClusterObjectFieldDescriptor(Label="panIdPresent", Tag=7, Type=bool), + ClusterObjectFieldDescriptor(Label="channelPresent", Tag=8, Type=bool), + ClusterObjectFieldDescriptor(Label="pskcPresent", Tag=9, Type=bool), + ClusterObjectFieldDescriptor(Label="securityPolicyPresent", Tag=10, Type=bool), + ClusterObjectFieldDescriptor(Label="channelMaskPresent", Tag=11, Type=bool), + ]) + + activeTimestampPresent: 'bool' = False + pendingTimestampPresent: 'bool' = False + masterKeyPresent: 'bool' = False + networkNamePresent: 'bool' = False + extendedPanIdPresent: 'bool' = False + meshLocalPrefixPresent: 'bool' = False + delayPresent: 'bool' = False + panIdPresent: 'bool' = False + channelPresent: 'bool' = False + pskcPresent: 'bool' = False + securityPolicyPresent: 'bool' = False + channelMaskPresent: 'bool' = False + + @dataclass + class RouteTable(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="extAddress", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="rloc16", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="routerId", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="nextHop", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="pathCost", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="LQIIn", Tag=5, Type=uint), + ClusterObjectFieldDescriptor(Label="LQIOut", Tag=6, Type=uint), + ClusterObjectFieldDescriptor(Label="age", Tag=7, Type=uint), + ClusterObjectFieldDescriptor(Label="allocated", Tag=8, Type=bool), + ClusterObjectFieldDescriptor(Label="linkEstablished", Tag=9, Type=bool), + ]) + + extAddress: 'uint' = 0 + rloc16: 'uint' = 0 + routerId: 'uint' = 0 + nextHop: 'uint' = 0 + pathCost: 'uint' = 0 + LQIIn: 'uint' = 0 + LQIOut: 'uint' = 0 + age: 'uint' = 0 + allocated: 'bool' = False + linkEstablished: 'bool' = False + + @dataclass + class SecurityPolicy(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="rotationTime", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="flags", Tag=1, Type=uint), + ]) + + rotationTime: 'uint' = 0 + flags: 'uint' = 0 + + + + class Commands: + @dataclass + class ResetCounts(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0035 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) + + + + class Attributes: + @dataclass + class Channel(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002E + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class RoutingRole(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002E + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, ThreadNetworkDiagnostics.Enums.RoutingRole]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[Nullable, ThreadNetworkDiagnostics.Enums.RoutingRole]' = NullValue @dataclass - class AttributeList(ClusterAttributeDescriptor): + class NetworkName(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002E + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, str]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[Nullable, str]' = NullValue @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class PanId(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002E + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'uint' = 0 + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class ExtendedPanId(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002E + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000004 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'uint' = 0 + value: 'typing.Union[Nullable, uint]' = NullValue + @dataclass + class MeshLocalPrefix(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0035 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 -@dataclass -class PowerSource(Cluster): - id: typing.ClassVar[int] = 0x002F + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, bytes]) - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0x00000000, Type=PowerSource.Enums.PowerSourceStatus), - ClusterObjectFieldDescriptor(Label="order", Tag=0x00000001, Type=uint), - ClusterObjectFieldDescriptor(Label="description", Tag=0x00000002, Type=str), - ClusterObjectFieldDescriptor(Label="wiredAssessedInputVoltage", Tag=0x00000003, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="wiredAssessedInputFrequency", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="wiredCurrentType", Tag=0x00000005, Type=typing.Optional[PowerSource.Enums.WiredCurrentType]), - ClusterObjectFieldDescriptor(Label="wiredAssessedCurrent", Tag=0x00000006, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="wiredNominalVoltage", Tag=0x00000007, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="wiredMaximumCurrent", Tag=0x00000008, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="wiredPresent", Tag=0x00000009, Type=typing.Optional[bool]), - ClusterObjectFieldDescriptor(Label="activeWiredFaults", Tag=0x0000000A, Type=typing.Optional[typing.List[PowerSource.Enums.WiredFault]]), - ClusterObjectFieldDescriptor(Label="batVoltage", Tag=0x0000000B, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="batPercentRemaining", Tag=0x0000000C, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="batTimeRemaining", Tag=0x0000000D, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="batChargeLevel", Tag=0x0000000E, Type=typing.Optional[PowerSource.Enums.BatChargeLevel]), - ClusterObjectFieldDescriptor(Label="batReplacementNeeded", Tag=0x0000000F, Type=typing.Optional[bool]), - ClusterObjectFieldDescriptor(Label="batReplaceability", Tag=0x00000010, Type=typing.Optional[PowerSource.Enums.BatReplaceability]), - ClusterObjectFieldDescriptor(Label="batPresent", Tag=0x00000011, Type=typing.Optional[bool]), - ClusterObjectFieldDescriptor(Label="activeBatFaults", Tag=0x00000012, Type=typing.Optional[typing.List[PowerSource.Enums.BatFault]]), - ClusterObjectFieldDescriptor(Label="batReplacementDescription", Tag=0x00000013, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="batCommonDesignation", Tag=0x00000014, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batANSIDesignation", Tag=0x00000015, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="batIECDesignation", Tag=0x00000016, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="batApprovedChemistry", Tag=0x00000017, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batCapacity", Tag=0x00000018, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batQuantity", Tag=0x00000019, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="batChargeState", Tag=0x0000001A, Type=typing.Optional[PowerSource.Enums.BatChargeState]), - ClusterObjectFieldDescriptor(Label="batTimeToFullCharge", Tag=0x0000001B, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="batFunctionalWhileCharging", Tag=0x0000001C, Type=typing.Optional[bool]), - ClusterObjectFieldDescriptor(Label="batChargingCurrent", Tag=0x0000001D, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="activeBatChargeFaults", Tag=0x0000001E, Type=typing.Optional[typing.List[PowerSource.Enums.BatChargeFault]]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + value: 'typing.Union[Nullable, bytes]' = NullValue - status: 'PowerSource.Enums.PowerSourceStatus' = None - order: 'uint' = None - description: 'str' = None - wiredAssessedInputVoltage: 'typing.Union[None, Nullable, uint]' = None - wiredAssessedInputFrequency: 'typing.Union[None, Nullable, uint]' = None - wiredCurrentType: 'typing.Optional[PowerSource.Enums.WiredCurrentType]' = None - wiredAssessedCurrent: 'typing.Union[None, Nullable, uint]' = None - wiredNominalVoltage: 'typing.Optional[uint]' = None - wiredMaximumCurrent: 'typing.Optional[uint]' = None - wiredPresent: 'typing.Optional[bool]' = None - activeWiredFaults: 'typing.Optional[typing.List[PowerSource.Enums.WiredFault]]' = None - batVoltage: 'typing.Union[None, Nullable, uint]' = None - batPercentRemaining: 'typing.Union[None, Nullable, uint]' = None - batTimeRemaining: 'typing.Union[None, Nullable, uint]' = None - batChargeLevel: 'typing.Optional[PowerSource.Enums.BatChargeLevel]' = None - batReplacementNeeded: 'typing.Optional[bool]' = None - batReplaceability: 'typing.Optional[PowerSource.Enums.BatReplaceability]' = None - batPresent: 'typing.Optional[bool]' = None - activeBatFaults: 'typing.Optional[typing.List[PowerSource.Enums.BatFault]]' = None - batReplacementDescription: 'typing.Optional[str]' = None - batCommonDesignation: 'typing.Optional[uint]' = None - batANSIDesignation: 'typing.Optional[str]' = None - batIECDesignation: 'typing.Optional[str]' = None - batApprovedChemistry: 'typing.Optional[uint]' = None - batCapacity: 'typing.Optional[uint]' = None - batQuantity: 'typing.Optional[uint]' = None - batChargeState: 'typing.Optional[PowerSource.Enums.BatChargeState]' = None - batTimeToFullCharge: 'typing.Union[None, Nullable, uint]' = None - batFunctionalWhileCharging: 'typing.Optional[bool]' = None - batChargingCurrent: 'typing.Union[None, Nullable, uint]' = None - activeBatChargeFaults: 'typing.Optional[typing.List[PowerSource.Enums.BatChargeFault]]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @dataclass + class OverrunCount(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0035 - class Enums: - class BatChargeFault(IntEnum): - kUnspecfied = 0x00 - kAmbientTooHot = 0x01 - kAmbientTooCold = 0x02 - kBatteryTooHot = 0x03 - kBatteryTooCold = 0x04 - kBatteryAbsent = 0x05 - kBatteryOverVoltage = 0x06 - kBatteryUnderVoltage = 0x07 - kChargerOverVoltage = 0x08 - kChargerUnderVoltage = 0x09 - kSafetyTimeout = 0x0A + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000006 - class BatChargeLevel(IntEnum): - kOk = 0x00 - kWarning = 0x01 - kCritical = 0x02 - - class BatChargeState(IntEnum): - kUnknown = 0x00 - kIsCharging = 0x01 - kIsAtFullCharge = 0x02 - kIsNotCharging = 0x03 - - class BatFault(IntEnum): - kUnspecfied = 0x00 - kOverTemp = 0x01 - kUnderTemp = 0x02 - - class BatReplaceability(IntEnum): - kUnspecified = 0x00 - kNotReplaceable = 0x01 - kUserReplaceable = 0x02 - kFactoryReplaceable = 0x03 - - class PowerSourceStatus(IntEnum): - kUnspecfied = 0x00 - kActive = 0x01 - kStandby = 0x02 - kUnavailable = 0x03 - - class WiredCurrentType(IntEnum): - kAc = 0x00 - kDc = 0x01 - - class WiredFault(IntEnum): - kUnspecfied = 0x00 - kOverVoltage = 0x01 - kUnderVoltage = 0x02 - - - class Structs: - @dataclass - class BatChargeFaultChangeType(ClusterObject): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="current", Tag=0, Type=typing.List[PowerSource.Enums.BatChargeFault]), - ClusterObjectFieldDescriptor(Label="previous", Tag=1, Type=typing.List[PowerSource.Enums.BatChargeFault]), - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - current: 'typing.List[PowerSource.Enums.BatChargeFault]' = field(default_factory=lambda: []) - previous: 'typing.List[PowerSource.Enums.BatChargeFault]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class BatFaultChangeType(ClusterObject): + class NeighborTableList(ClusterAttributeDescriptor): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="current", Tag=0, Type=typing.List[PowerSource.Enums.BatFault]), - ClusterObjectFieldDescriptor(Label="previous", Tag=1, Type=typing.List[PowerSource.Enums.BatFault]), - ]) - - current: 'typing.List[PowerSource.Enums.BatFault]' = field(default_factory=lambda: []) - previous: 'typing.List[PowerSource.Enums.BatFault]' = field(default_factory=lambda: []) + def cluster_id(cls) -> int: + return 0x0035 - @dataclass - class WiredFaultChangeType(ClusterObject): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="current", Tag=0, Type=typing.List[PowerSource.Enums.WiredFault]), - ClusterObjectFieldDescriptor(Label="previous", Tag=1, Type=typing.List[PowerSource.Enums.WiredFault]), - ]) - - current: 'typing.List[PowerSource.Enums.WiredFault]' = field(default_factory=lambda: []) - previous: 'typing.List[PowerSource.Enums.WiredFault]' = field(default_factory=lambda: []) - + def attribute_id(cls) -> int: + return 0x00000007 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[ThreadNetworkDiagnostics.Structs.NeighborTable]) + value: 'typing.List[ThreadNetworkDiagnostics.Structs.NeighborTable]' = field(default_factory=lambda: []) - class Attributes: @dataclass - class Status(ClusterAttributeDescriptor): + class RouteTableList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000008 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=PowerSource.Enums.PowerSourceStatus) + return ClusterObjectFieldDescriptor(Type=typing.List[ThreadNetworkDiagnostics.Structs.RouteTable]) - value: 'PowerSource.Enums.PowerSourceStatus' = 0 + value: 'typing.List[ThreadNetworkDiagnostics.Structs.RouteTable]' = field(default_factory=lambda: []) @dataclass - class Order(ClusterAttributeDescriptor): + class PartitionId(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000009 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'uint' = 0 + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class Description(ClusterAttributeDescriptor): + class Weighting(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x0000000A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'str' = "" + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class WiredAssessedInputVoltage(ClusterAttributeDescriptor): + class DataVersion(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x0000000B @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class WiredAssessedInputFrequency(ClusterAttributeDescriptor): + class StableDataVersion(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000004 + return 0x0000000C @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class WiredCurrentType(ClusterAttributeDescriptor): + class LeaderRouterId(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000005 + return 0x0000000D @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[PowerSource.Enums.WiredCurrentType]) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'typing.Optional[PowerSource.Enums.WiredCurrentType]' = None + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class WiredAssessedCurrent(ClusterAttributeDescriptor): + class DetachedRoleCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000006 + return 0x0000000E @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.Optional[uint]' = None @dataclass - class WiredNominalVoltage(ClusterAttributeDescriptor): + class ChildRoleCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000007 + return 0x0000000F @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -8804,14 +8317,14 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Optional[uint]' = None @dataclass - class WiredMaximumCurrent(ClusterAttributeDescriptor): + class RouterRoleCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000008 + return 0x00000010 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -8820,190 +8333,190 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Optional[uint]' = None @dataclass - class WiredPresent(ClusterAttributeDescriptor): + class LeaderRoleCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000009 + return 0x00000011 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[bool]' = None + value: 'typing.Optional[uint]' = None @dataclass - class ActiveWiredFaults(ClusterAttributeDescriptor): + class AttachAttemptCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000000A + return 0x00000012 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[PowerSource.Enums.WiredFault]]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[typing.List[PowerSource.Enums.WiredFault]]' = None + value: 'typing.Optional[uint]' = None @dataclass - class BatVoltage(ClusterAttributeDescriptor): + class PartitionIdChangeCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000000B + return 0x00000013 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.Optional[uint]' = None @dataclass - class BatPercentRemaining(ClusterAttributeDescriptor): + class BetterPartitionAttachAttemptCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000000C + return 0x00000014 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.Optional[uint]' = None @dataclass - class BatTimeRemaining(ClusterAttributeDescriptor): + class ParentChangeCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000000D + return 0x00000015 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.Optional[uint]' = None @dataclass - class BatChargeLevel(ClusterAttributeDescriptor): + class TxTotalCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000000E + return 0x00000016 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[PowerSource.Enums.BatChargeLevel]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[PowerSource.Enums.BatChargeLevel]' = None + value: 'typing.Optional[uint]' = None @dataclass - class BatReplacementNeeded(ClusterAttributeDescriptor): + class TxUnicastCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000000F + return 0x00000017 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[bool]' = None + value: 'typing.Optional[uint]' = None @dataclass - class BatReplaceability(ClusterAttributeDescriptor): + class TxBroadcastCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000010 + return 0x00000018 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[PowerSource.Enums.BatReplaceability]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[PowerSource.Enums.BatReplaceability]' = None + value: 'typing.Optional[uint]' = None @dataclass - class BatPresent(ClusterAttributeDescriptor): + class TxAckRequestedCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000011 + return 0x00000019 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[bool]' = None + value: 'typing.Optional[uint]' = None @dataclass - class ActiveBatFaults(ClusterAttributeDescriptor): + class TxAckedCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000012 + return 0x0000001A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[PowerSource.Enums.BatFault]]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[typing.List[PowerSource.Enums.BatFault]]' = None + value: 'typing.Optional[uint]' = None @dataclass - class BatReplacementDescription(ClusterAttributeDescriptor): + class TxNoAckRequestedCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000013 + return 0x0000001B @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[str]' = None + value: 'typing.Optional[uint]' = None @dataclass - class BatCommonDesignation(ClusterAttributeDescriptor): + class TxDataCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000014 + return 0x0000001C @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -9012,46 +8525,46 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Optional[uint]' = None @dataclass - class BatANSIDesignation(ClusterAttributeDescriptor): + class TxDataPollCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000015 + return 0x0000001D @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[str]' = None + value: 'typing.Optional[uint]' = None @dataclass - class BatIECDesignation(ClusterAttributeDescriptor): + class TxBeaconCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000016 + return 0x0000001E @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[str]' = None + value: 'typing.Optional[uint]' = None @dataclass - class BatApprovedChemistry(ClusterAttributeDescriptor): + class TxBeaconRequestCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000017 + return 0x0000001F @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -9060,14 +8573,14 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Optional[uint]' = None @dataclass - class BatCapacity(ClusterAttributeDescriptor): + class TxOtherCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000018 + return 0x00000020 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -9076,14 +8589,14 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Optional[uint]' = None @dataclass - class BatQuantity(ClusterAttributeDescriptor): + class TxRetryCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000019 + return 0x00000021 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -9092,789 +8605,668 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Optional[uint]' = None @dataclass - class BatChargeState(ClusterAttributeDescriptor): + class TxDirectMaxRetryExpiryCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000001A + return 0x00000022 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[PowerSource.Enums.BatChargeState]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[PowerSource.Enums.BatChargeState]' = None + value: 'typing.Optional[uint]' = None @dataclass - class BatTimeToFullCharge(ClusterAttributeDescriptor): + class TxIndirectMaxRetryExpiryCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000001B + return 0x00000023 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.Optional[uint]' = None @dataclass - class BatFunctionalWhileCharging(ClusterAttributeDescriptor): + class TxErrCcaCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000001C + return 0x00000024 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[bool]' = None + value: 'typing.Optional[uint]' = None @dataclass - class BatChargingCurrent(ClusterAttributeDescriptor): + class TxErrAbortCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000001D + return 0x00000025 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.Optional[uint]' = None @dataclass - class ActiveBatChargeFaults(ClusterAttributeDescriptor): + class TxErrBusyChannelCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000001E + return 0x00000026 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[PowerSource.Enums.BatChargeFault]]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[typing.List[PowerSource.Enums.BatChargeFault]]' = None + value: 'typing.Optional[uint]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class RxTotalCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000027 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class RxUnicastCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000028 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class RxBroadcastCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000029 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class RxDataCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x0000002A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'uint' = 0 + value: 'typing.Optional[uint]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class RxDataPollCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x002F + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x0000002B @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'uint' = 0 + value: 'typing.Optional[uint]' = None + @dataclass + class RxBeaconCount(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0035 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000002C -@dataclass -class GeneralCommissioning(Cluster): - id: typing.ClassVar[int] = 0x0030 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="basicCommissioningInfo", Tag=0x00000001, Type=GeneralCommissioning.Structs.BasicCommissioningInfo), - ClusterObjectFieldDescriptor(Label="regulatoryConfig", Tag=0x00000002, Type=GeneralCommissioning.Enums.RegulatoryLocationType), - ClusterObjectFieldDescriptor(Label="locationCapability", Tag=0x00000003, Type=GeneralCommissioning.Enums.RegulatoryLocationType), - ClusterObjectFieldDescriptor(Label="supportsConcurrentConnection", Tag=0x00000004, Type=bool), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + value: 'typing.Optional[uint]' = None - breadcrumb: 'uint' = None - basicCommissioningInfo: 'GeneralCommissioning.Structs.BasicCommissioningInfo' = None - regulatoryConfig: 'GeneralCommissioning.Enums.RegulatoryLocationType' = None - locationCapability: 'GeneralCommissioning.Enums.RegulatoryLocationType' = None - supportsConcurrentConnection: 'bool' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @dataclass + class RxBeaconRequestCount(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0035 - class Enums: - class CommissioningError(IntEnum): - kOk = 0x00 - kValueOutsideRange = 0x01 - kInvalidAuthentication = 0x02 - kNoFailSafe = 0x03 - kBusyWithOtherAdmin = 0x04 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000002D - class RegulatoryLocationType(IntEnum): - kIndoor = 0x00 - kOutdoor = 0x01 - kIndoorOutdoor = 0x02 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Structs: @dataclass - class BasicCommissioningInfo(ClusterObject): + class RxOtherCount(ClusterAttributeDescriptor): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="failSafeExpiryLengthSeconds", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="maxCumulativeFailsafeSeconds", Tag=1, Type=uint), - ]) + def cluster_id(cls) -> int: + return 0x0035 - failSafeExpiryLengthSeconds: 'uint' = 0 - maxCumulativeFailsafeSeconds: 'uint' = 0 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000002E + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Commands: @dataclass - class ArmFailSafe(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0030 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True + class RxAddressFilteredCount(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0035 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="expiryLengthSeconds", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=1, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x0000002F - expiryLengthSeconds: 'uint' = 0 - breadcrumb: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None @dataclass - class ArmFailSafeResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0030 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = False + class RxDestAddrFilteredCount(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0035 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="errorCode", Tag=0, Type=GeneralCommissioning.Enums.CommissioningError), - ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=str), - ]) + def attribute_id(cls) -> int: + return 0x00000030 - errorCode: 'GeneralCommissioning.Enums.CommissioningError' = 0 - debugText: 'str' = "" + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None @dataclass - class SetRegulatoryConfig(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0030 - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = True + class RxDuplicatedCount(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0035 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="newRegulatoryConfig", Tag=0, Type=GeneralCommissioning.Enums.RegulatoryLocationType), - ClusterObjectFieldDescriptor(Label="countryCode", Tag=1, Type=str), - ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=2, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x00000031 - newRegulatoryConfig: 'GeneralCommissioning.Enums.RegulatoryLocationType' = 0 - countryCode: 'str' = "" - breadcrumb: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None @dataclass - class SetRegulatoryConfigResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0030 - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = False + class RxErrNoFrameCount(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0035 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="errorCode", Tag=0, Type=GeneralCommissioning.Enums.CommissioningError), - ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=str), - ]) + def attribute_id(cls) -> int: + return 0x00000032 - errorCode: 'GeneralCommissioning.Enums.CommissioningError' = 0 - debugText: 'str' = "" + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None @dataclass - class CommissioningComplete(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0030 - command_id: typing.ClassVar[int] = 0x0004 - is_client: typing.ClassVar[bool] = True + class RxErrUnknownNeighborCount(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0035 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) + def attribute_id(cls) -> int: + return 0x00000033 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None @dataclass - class CommissioningCompleteResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0030 - command_id: typing.ClassVar[int] = 0x0005 - is_client: typing.ClassVar[bool] = False + class RxErrInvalidSrcAddrCount(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0035 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="errorCode", Tag=0, Type=GeneralCommissioning.Enums.CommissioningError), - ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=str), - ]) + def attribute_id(cls) -> int: + return 0x00000034 - errorCode: 'GeneralCommissioning.Enums.CommissioningError' = 0 - debugText: 'str' = "" + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Attributes: @dataclass - class Breadcrumb(ClusterAttributeDescriptor): + class RxErrSecCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0030 + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000035 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'uint' = 0 + value: 'typing.Optional[uint]' = None @dataclass - class BasicCommissioningInfo(ClusterAttributeDescriptor): + class RxErrFcsCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0030 + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000036 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=GeneralCommissioning.Structs.BasicCommissioningInfo) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'GeneralCommissioning.Structs.BasicCommissioningInfo' = field(default_factory=lambda: GeneralCommissioning.Structs.BasicCommissioningInfo()) + value: 'typing.Optional[uint]' = None @dataclass - class RegulatoryConfig(ClusterAttributeDescriptor): + class RxErrOtherCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0030 + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000037 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=GeneralCommissioning.Enums.RegulatoryLocationType) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'GeneralCommissioning.Enums.RegulatoryLocationType' = 0 + value: 'typing.Optional[uint]' = None @dataclass - class LocationCapability(ClusterAttributeDescriptor): + class ActiveTimestamp(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0030 + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00000038 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=GeneralCommissioning.Enums.RegulatoryLocationType) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'GeneralCommissioning.Enums.RegulatoryLocationType' = 0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class SupportsConcurrentConnection(ClusterAttributeDescriptor): + class PendingTimestamp(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0030 + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000004 + return 0x00000039 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'bool' = False + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class Delay(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0030 + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x0000003A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class SecurityPolicy(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0030 + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x0000003B @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, ThreadNetworkDiagnostics.Structs.SecurityPolicy]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[Nullable, ThreadNetworkDiagnostics.Structs.SecurityPolicy]' = NullValue @dataclass - class AttributeList(ClusterAttributeDescriptor): + class ChannelMask(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0030 + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x0000003C @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, bytes]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[Nullable, bytes]' = NullValue @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class OperationalDatasetComponents(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0030 + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x0000003D @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, ThreadNetworkDiagnostics.Structs.OperationalDatasetComponents]) - value: 'uint' = 0 + value: 'typing.Union[Nullable, ThreadNetworkDiagnostics.Structs.OperationalDatasetComponents]' = NullValue @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class ActiveNetworkFaultsList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0030 + return 0x0035 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x0000003E @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.List[ThreadNetworkDiagnostics.Enums.NetworkFault]) - value: 'uint' = 0 + value: 'typing.List[ThreadNetworkDiagnostics.Enums.NetworkFault]' = field(default_factory=lambda: []) + @dataclass + class GeneratedCommandList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0035 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFF8 -@dataclass -class NetworkCommissioning(Cluster): - id: typing.ClassVar[int] = 0x0031 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="maxNetworks", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="networks", Tag=0x00000001, Type=typing.List[NetworkCommissioning.Structs.NetworkInfo]), - ClusterObjectFieldDescriptor(Label="scanMaxTimeSeconds", Tag=0x00000002, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="connectMaxTimeSeconds", Tag=0x00000003, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="interfaceEnabled", Tag=0x00000004, Type=bool), - ClusterObjectFieldDescriptor(Label="lastNetworkingStatus", Tag=0x00000005, Type=typing.Union[Nullable, NetworkCommissioning.Enums.NetworkCommissioningStatus]), - ClusterObjectFieldDescriptor(Label="lastNetworkID", Tag=0x00000006, Type=typing.Union[Nullable, bytes]), - ClusterObjectFieldDescriptor(Label="lastConnectErrorValue", Tag=0x00000007, Type=typing.Union[Nullable, int]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - maxNetworks: 'uint' = None - networks: 'typing.List[NetworkCommissioning.Structs.NetworkInfo]' = None - scanMaxTimeSeconds: 'typing.Optional[uint]' = None - connectMaxTimeSeconds: 'typing.Optional[uint]' = None - interfaceEnabled: 'bool' = None - lastNetworkingStatus: 'typing.Union[Nullable, NetworkCommissioning.Enums.NetworkCommissioningStatus]' = None - lastNetworkID: 'typing.Union[Nullable, bytes]' = None - lastConnectErrorValue: 'typing.Union[Nullable, int]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - class Enums: - class NetworkCommissioningStatus(IntEnum): - kSuccess = 0x00 - kOutOfRange = 0x01 - kBoundsExceeded = 0x02 - kNetworkIDNotFound = 0x03 - kDuplicateNetworkID = 0x04 - kNetworkNotFound = 0x05 - kRegulatoryError = 0x06 - kAuthFailure = 0x07 - kUnsupportedSecurity = 0x08 - kOtherConnectionFailure = 0x09 - kIPV6Failed = 0x0A - kIPBindFailed = 0x0B - kUnknownError = 0x0C - - class WiFiBand(IntEnum): - k2g4 = 0x00 - k3g65 = 0x01 - k5g = 0x02 - k6g = 0x03 - k60g = 0x04 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + value: 'typing.List[uint]' = field(default_factory=lambda: []) - class Structs: @dataclass - class NetworkInfo(ClusterObject): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="networkID", Tag=0, Type=bytes), - ClusterObjectFieldDescriptor(Label="connected", Tag=1, Type=bool), - ]) + def cluster_id(cls) -> int: + return 0x0035 - networkID: 'bytes' = b"" - connected: 'bool' = False + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFF9 - @dataclass - class ThreadInterfaceScanResult(ClusterObject): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="panId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="extendedPanId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="networkName", Tag=2, Type=str), - ClusterObjectFieldDescriptor(Label="channel", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="version", Tag=4, Type=uint), - ClusterObjectFieldDescriptor(Label="extendedAddress", Tag=5, Type=bytes), - ClusterObjectFieldDescriptor(Label="rssi", Tag=6, Type=int), - ClusterObjectFieldDescriptor(Label="lqi", Tag=7, Type=uint), - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - panId: 'uint' = 0 - extendedPanId: 'uint' = 0 - networkName: 'str' = "" - channel: 'uint' = 0 - version: 'uint' = 0 - extendedAddress: 'bytes' = b"" - rssi: 'int' = 0 - lqi: 'uint' = 0 + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class WiFiInterfaceScanResult(ClusterObject): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="security", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="ssid", Tag=1, Type=bytes), - ClusterObjectFieldDescriptor(Label="bssid", Tag=2, Type=bytes), - ClusterObjectFieldDescriptor(Label="channel", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="wiFiBand", Tag=4, Type=NetworkCommissioning.Enums.WiFiBand), - ClusterObjectFieldDescriptor(Label="rssi", Tag=5, Type=int), - ]) - - security: 'uint' = 0 - ssid: 'bytes' = b"" - bssid: 'bytes' = b"" - channel: 'uint' = 0 - wiFiBand: 'NetworkCommissioning.Enums.WiFiBand' = 0 - rssi: 'int' = 0 - - + def cluster_id(cls) -> int: + return 0x0035 - class Commands: - @dataclass - class ScanNetworks(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0031 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFB @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="ssid", Tag=0, Type=typing.Union[None, Nullable, bytes]), - ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=1, Type=typing.Optional[uint]), - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - ssid: 'typing.Union[None, Nullable, bytes]' = None - breadcrumb: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class ScanNetworksResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0031 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = False - + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="networkingStatus", Tag=0, Type=NetworkCommissioning.Enums.NetworkCommissioningStatus), - ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="wiFiScanResults", Tag=2, Type=typing.Optional[typing.List[NetworkCommissioning.Structs.WiFiInterfaceScanResult]]), - ClusterObjectFieldDescriptor(Label="threadScanResults", Tag=3, Type=typing.Optional[typing.List[NetworkCommissioning.Structs.ThreadInterfaceScanResult]]), - ]) - - networkingStatus: 'NetworkCommissioning.Enums.NetworkCommissioningStatus' = 0 - debugText: 'typing.Optional[str]' = None - wiFiScanResults: 'typing.Optional[typing.List[NetworkCommissioning.Structs.WiFiInterfaceScanResult]]' = None - threadScanResults: 'typing.Optional[typing.List[NetworkCommissioning.Structs.ThreadInterfaceScanResult]]' = None + def cluster_id(cls) -> int: + return 0x0035 - @dataclass - class AddOrUpdateWiFiNetwork(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0031 - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFC @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="ssid", Tag=0, Type=bytes), - ClusterObjectFieldDescriptor(Label="credentials", Tag=1, Type=bytes), - ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=2, Type=typing.Optional[uint]), - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) - ssid: 'bytes' = b"" - credentials: 'bytes' = b"" - breadcrumb: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class AddOrUpdateThreadNetwork(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0031 - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = True - + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="operationalDataset", Tag=0, Type=bytes), - ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=1, Type=typing.Optional[uint]), - ]) - - operationalDataset: 'bytes' = b"" - breadcrumb: 'typing.Optional[uint]' = None + def cluster_id(cls) -> int: + return 0x0035 - @dataclass - class RemoveNetwork(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0031 - command_id: typing.ClassVar[int] = 0x0004 - is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFD @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="networkID", Tag=0, Type=bytes), - ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=1, Type=typing.Optional[uint]), - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) - networkID: 'bytes' = b"" - breadcrumb: 'typing.Optional[uint]' = None + value: 'uint' = 0 - @dataclass - class NetworkConfigResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0031 - command_id: typing.ClassVar[int] = 0x0005 - is_client: typing.ClassVar[bool] = False + class Events: + @dataclass + class ConnectionStatus(ClusterEvent): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="networkingStatus", Tag=0, Type=NetworkCommissioning.Enums.NetworkCommissioningStatus), - ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="networkIndex", Tag=2, Type=typing.Optional[uint]), - ]) - - networkingStatus: 'NetworkCommissioning.Enums.NetworkCommissioningStatus' = 0 - debugText: 'typing.Optional[str]' = None - networkIndex: 'typing.Optional[uint]' = None + def cluster_id(cls) -> int: + return 0x0035 - @dataclass - class ConnectNetwork(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0031 - command_id: typing.ClassVar[int] = 0x0006 - is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000000 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="networkID", Tag=0, Type=bytes), - ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=1, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="connectionStatus", Tag=0, Type=ThreadNetworkDiagnostics.Enums.ThreadConnectionStatus), ]) - networkID: 'bytes' = b"" - breadcrumb: 'typing.Optional[uint]' = None + connectionStatus: 'ThreadNetworkDiagnostics.Enums.ThreadConnectionStatus' = 0 - @dataclass - class ConnectNetworkResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0031 - command_id: typing.ClassVar[int] = 0x0007 - is_client: typing.ClassVar[bool] = False - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="networkingStatus", Tag=0, Type=NetworkCommissioning.Enums.NetworkCommissioningStatus), - ClusterObjectFieldDescriptor(Label="debugText", Tag=1, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="errorValue", Tag=2, Type=typing.Union[Nullable, int]), - ]) +@dataclass +class WiFiNetworkDiagnostics(Cluster): + id: typing.ClassVar[int] = 0x0036 - networkingStatus: 'NetworkCommissioning.Enums.NetworkCommissioningStatus' = 0 - debugText: 'typing.Optional[str]' = None - errorValue: 'typing.Union[Nullable, int]' = NullValue + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="bssid", Tag=0x00000000, Type=typing.Union[Nullable, bytes]), + ClusterObjectFieldDescriptor(Label="securityType", Tag=0x00000001, Type=typing.Union[Nullable, WiFiNetworkDiagnostics.Enums.SecurityType]), + ClusterObjectFieldDescriptor(Label="wiFiVersion", Tag=0x00000002, Type=typing.Union[Nullable, WiFiNetworkDiagnostics.Enums.WiFiVersionType]), + ClusterObjectFieldDescriptor(Label="channelNumber", Tag=0x00000003, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="rssi", Tag=0x00000004, Type=typing.Union[Nullable, int]), + ClusterObjectFieldDescriptor(Label="beaconLostCount", Tag=0x00000005, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="beaconRxCount", Tag=0x00000006, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="packetMulticastRxCount", Tag=0x00000007, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="packetMulticastTxCount", Tag=0x00000008, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="packetUnicastRxCount", Tag=0x00000009, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="packetUnicastTxCount", Tag=0x0000000A, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="currentMaxRate", Tag=0x0000000B, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="overrunCount", Tag=0x0000000C, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) + + bssid: 'typing.Union[Nullable, bytes]' = None + securityType: 'typing.Union[Nullable, WiFiNetworkDiagnostics.Enums.SecurityType]' = None + wiFiVersion: 'typing.Union[Nullable, WiFiNetworkDiagnostics.Enums.WiFiVersionType]' = None + channelNumber: 'typing.Union[Nullable, uint]' = None + rssi: 'typing.Union[Nullable, int]' = None + beaconLostCount: 'typing.Optional[uint]' = None + beaconRxCount: 'typing.Optional[uint]' = None + packetMulticastRxCount: 'typing.Optional[uint]' = None + packetMulticastTxCount: 'typing.Optional[uint]' = None + packetUnicastRxCount: 'typing.Optional[uint]' = None + packetUnicastTxCount: 'typing.Optional[uint]' = None + currentMaxRate: 'typing.Optional[uint]' = None + overrunCount: 'typing.Optional[uint]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + + class Enums: + class AssociationFailureCause(IntEnum): + kUnknown = 0x00 + kAssociationFailed = 0x01 + kAuthenticationFailed = 0x02 + kSsidNotFound = 0x03 + + class SecurityType(IntEnum): + kUnspecified = 0x00 + kNone = 0x01 + kWep = 0x02 + kWpa = 0x03 + kWpa2 = 0x04 + kWpa3 = 0x05 + + class WiFiConnectionStatus(IntEnum): + kConnected = 0x00 + kNotConnected = 0x01 + class WiFiVersionType(IntEnum): + k80211a = 0x00 + k80211b = 0x01 + k80211g = 0x02 + k80211n = 0x03 + k80211ac = 0x04 + k80211ax = 0x05 + + + + class Commands: @dataclass - class ReorderNetwork(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0031 - command_id: typing.ClassVar[int] = 0x0008 + class ResetCounts(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0036 + command_id: typing.ClassVar[int] = 0x0000 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="networkID", Tag=0, Type=bytes), - ClusterObjectFieldDescriptor(Label="networkIndex", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="breadcrumb", Tag=2, Type=typing.Optional[uint]), ]) - networkID: 'bytes' = b"" - networkIndex: 'uint' = 0 - breadcrumb: 'typing.Optional[uint]' = None class Attributes: @dataclass - class MaxNetworks(ClusterAttributeDescriptor): + class Bssid(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0031 + return 0x0036 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -9882,15 +9274,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, bytes]) - value: 'uint' = 0 + value: 'typing.Union[Nullable, bytes]' = NullValue @dataclass - class Networks(ClusterAttributeDescriptor): + class SecurityType(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0031 + return 0x0036 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -9898,15 +9290,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[NetworkCommissioning.Structs.NetworkInfo]) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, WiFiNetworkDiagnostics.Enums.SecurityType]) - value: 'typing.List[NetworkCommissioning.Structs.NetworkInfo]' = field(default_factory=lambda: []) + value: 'typing.Union[Nullable, WiFiNetworkDiagnostics.Enums.SecurityType]' = NullValue @dataclass - class ScanMaxTimeSeconds(ClusterAttributeDescriptor): + class WiFiVersion(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0031 + return 0x0036 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -9914,15 +9306,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, WiFiNetworkDiagnostics.Enums.WiFiVersionType]) - value: 'typing.Optional[uint]' = None + value: 'typing.Union[Nullable, WiFiNetworkDiagnostics.Enums.WiFiVersionType]' = NullValue @dataclass - class ConnectMaxTimeSeconds(ClusterAttributeDescriptor): + class ChannelNumber(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0031 + return 0x0036 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -9930,15 +9322,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class InterfaceEnabled(ClusterAttributeDescriptor): + class Rssi(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0031 + return 0x0036 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -9946,15 +9338,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) - value: 'bool' = False + value: 'typing.Union[Nullable, int]' = NullValue @dataclass - class LastNetworkingStatus(ClusterAttributeDescriptor): + class BeaconLostCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0031 + return 0x0036 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -9962,15 +9354,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, NetworkCommissioning.Enums.NetworkCommissioningStatus]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[Nullable, NetworkCommissioning.Enums.NetworkCommissioningStatus]' = NullValue + value: 'typing.Optional[uint]' = None @dataclass - class LastNetworkID(ClusterAttributeDescriptor): + class BeaconRxCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0031 + return 0x0036 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -9978,15 +9370,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, bytes]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[Nullable, bytes]' = NullValue + value: 'typing.Optional[uint]' = None @dataclass - class LastConnectErrorValue(ClusterAttributeDescriptor): + class PacketMulticastRxCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0031 + return 0x0036 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -9994,15 +9386,95 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[Nullable, int]' = NullValue + value: 'typing.Optional[uint]' = None + + @dataclass + class PacketMulticastTxCount(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0036 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000008 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None + + @dataclass + class PacketUnicastRxCount(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0036 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000009 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None + + @dataclass + class PacketUnicastTxCount(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0036 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000000A + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None + + @dataclass + class CurrentMaxRate(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0036 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000000B + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None + + @dataclass + class OverrunCount(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0036 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000000C + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0031 + return 0x0036 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -10018,7 +9490,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0031 + return 0x0036 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -10034,7 +9506,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0031 + return 0x0036 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -10050,7 +9522,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0031 + return 0x0036 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -10066,7 +9538,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0031 + return 0x0036 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -10079,15 +9551,84 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 + class Events: + @dataclass + class Disconnection(ClusterEvent): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0036 -@dataclass -class DiagnosticLogs(Cluster): - id: typing.ClassVar[int] = 0x0032 + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000000 - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="reasonCode", Tag=0, Type=uint), + ]) + + reasonCode: 'uint' = 0 + + @dataclass + class AssociationFailure(ClusterEvent): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0036 + + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000001 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="associationFailure", Tag=0, Type=WiFiNetworkDiagnostics.Enums.AssociationFailureCause), + ClusterObjectFieldDescriptor(Label="status", Tag=1, Type=uint), + ]) + + associationFailure: 'WiFiNetworkDiagnostics.Enums.AssociationFailureCause' = 0 + status: 'uint' = 0 + + @dataclass + class ConnectionStatus(ClusterEvent): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0036 + + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000002 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="connectionStatus", Tag=0, Type=WiFiNetworkDiagnostics.Enums.WiFiConnectionStatus), + ]) + + connectionStatus: 'WiFiNetworkDiagnostics.Enums.WiFiConnectionStatus' = 0 + + +@dataclass +class EthernetNetworkDiagnostics(Cluster): + id: typing.ClassVar[int] = 0x0037 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( Fields = [ + ClusterObjectFieldDescriptor(Label="PHYRate", Tag=0x00000000, Type=typing.Union[None, Nullable, EthernetNetworkDiagnostics.Enums.PHYRateType]), + ClusterObjectFieldDescriptor(Label="fullDuplex", Tag=0x00000001, Type=typing.Union[None, Nullable, bool]), + ClusterObjectFieldDescriptor(Label="packetRxCount", Tag=0x00000002, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="packetTxCount", Tag=0x00000003, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="txErrCount", Tag=0x00000004, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="collisionCount", Tag=0x00000005, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="overrunCount", Tag=0x00000006, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="carrierDetect", Tag=0x00000007, Type=typing.Union[None, Nullable, bool]), + ClusterObjectFieldDescriptor(Label="timeSinceReset", Tag=0x00000008, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -10095,6 +9636,15 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) + PHYRate: 'typing.Union[None, Nullable, EthernetNetworkDiagnostics.Enums.PHYRateType]' = None + fullDuplex: 'typing.Union[None, Nullable, bool]' = None + packetRxCount: 'typing.Optional[uint]' = None + packetTxCount: 'typing.Optional[uint]' = None + txErrCount: 'typing.Optional[uint]' = None + collisionCount: 'typing.Optional[uint]' = None + overrunCount: 'typing.Optional[uint]' = None + carrierDetect: 'typing.Union[None, Nullable, bool]' = None + timeSinceReset: 'typing.Optional[uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None @@ -10102,28 +9652,24 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Enums: - class LogsIntent(IntEnum): - kEndUserSupport = 0x00 - kNetworkDiag = 0x01 - kCrashLogs = 0x02 - - class LogsStatus(IntEnum): - kSuccess = 0x00 - kExhausted = 0x01 - kNoLogs = 0x02 - kBusy = 0x03 - kDenied = 0x04 - - class LogsTransferProtocol(IntEnum): - kResponsePayload = 0x00 - kBdx = 0x01 + class PHYRateType(IntEnum): + k10m = 0x00 + k100m = 0x01 + k1000m = 0x02 + k25g = 0x03 + k5g = 0x04 + k10g = 0x05 + k40g = 0x06 + k100g = 0x07 + k200g = 0x08 + k400g = 0x09 class Commands: @dataclass - class RetrieveLogsRequest(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0032 + class ResetCounts(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0037 command_id: typing.ClassVar[int] = 0x0000 is_client: typing.ClassVar[bool] = True @@ -10131,402 +9677,267 @@ class RetrieveLogsRequest(ClusterCommand): def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="intent", Tag=0, Type=DiagnosticLogs.Enums.LogsIntent), - ClusterObjectFieldDescriptor(Label="requestedProtocol", Tag=1, Type=DiagnosticLogs.Enums.LogsTransferProtocol), - ClusterObjectFieldDescriptor(Label="transferFileDesignator", Tag=2, Type=bytes), ]) - intent: 'DiagnosticLogs.Enums.LogsIntent' = 0 - requestedProtocol: 'DiagnosticLogs.Enums.LogsTransferProtocol' = 0 - transferFileDesignator: 'bytes' = b"" + + class Attributes: @dataclass - class RetrieveLogsResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0032 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = False + class PHYRate(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0037 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=DiagnosticLogs.Enums.LogsStatus), - ClusterObjectFieldDescriptor(Label="content", Tag=1, Type=bytes), - ClusterObjectFieldDescriptor(Label="timeStamp", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="timeSinceBoot", Tag=3, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x00000000 - status: 'DiagnosticLogs.Enums.LogsStatus' = 0 - content: 'bytes' = b"" - timeStamp: 'uint' = 0 - timeSinceBoot: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, EthernetNetworkDiagnostics.Enums.PHYRateType]) + value: 'typing.Union[None, Nullable, EthernetNetworkDiagnostics.Enums.PHYRateType]' = None - class Attributes: @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class FullDuplex(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0032 + return 0x0037 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, bool]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, bool]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class PacketRxCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0032 + return 0x0037 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class PacketTxCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0032 + return 0x0037 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class TxErrCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0032 + return 0x0037 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000004 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'uint' = 0 + value: 'typing.Optional[uint]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class CollisionCount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0032 + return 0x0037 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000005 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'uint' = 0 + value: 'typing.Optional[uint]' = None + @dataclass + class OverrunCount(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0037 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000006 -@dataclass -class GeneralDiagnostics(Cluster): - id: typing.ClassVar[int] = 0x0033 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="networkInterfaces", Tag=0x00000000, Type=typing.List[GeneralDiagnostics.Structs.NetworkInterfaceType]), - ClusterObjectFieldDescriptor(Label="rebootCount", Tag=0x00000001, Type=uint), - ClusterObjectFieldDescriptor(Label="upTime", Tag=0x00000002, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="totalOperationalHours", Tag=0x00000003, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="bootReasons", Tag=0x00000004, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="activeHardwareFaults", Tag=0x00000005, Type=typing.Optional[typing.List[uint]]), - ClusterObjectFieldDescriptor(Label="activeRadioFaults", Tag=0x00000006, Type=typing.Optional[typing.List[uint]]), - ClusterObjectFieldDescriptor(Label="activeNetworkFaults", Tag=0x00000007, Type=typing.Optional[typing.List[uint]]), - ClusterObjectFieldDescriptor(Label="testEventTriggersEnabled", Tag=0x00000008, Type=bool), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + value: 'typing.Optional[uint]' = None - networkInterfaces: 'typing.List[GeneralDiagnostics.Structs.NetworkInterfaceType]' = None - rebootCount: 'uint' = None - upTime: 'typing.Optional[uint]' = None - totalOperationalHours: 'typing.Optional[uint]' = None - bootReasons: 'typing.Optional[uint]' = None - activeHardwareFaults: 'typing.Optional[typing.List[uint]]' = None - activeRadioFaults: 'typing.Optional[typing.List[uint]]' = None - activeNetworkFaults: 'typing.Optional[typing.List[uint]]' = None - testEventTriggersEnabled: 'bool' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @dataclass + class CarrierDetect(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0037 - class Enums: - class BootReasonType(IntEnum): - kUnspecified = 0x00 - kPowerOnReboot = 0x01 - kBrownOutReset = 0x02 - kSoftwareWatchdogReset = 0x03 - kHardwareWatchdogReset = 0x04 - kSoftwareUpdateCompleted = 0x05 - kSoftwareReset = 0x06 - - class HardwareFaultType(IntEnum): - kUnspecified = 0x00 - kRadio = 0x01 - kSensor = 0x02 - kResettableOverTemp = 0x03 - kNonResettableOverTemp = 0x04 - kPowerSource = 0x05 - kVisualDisplayFault = 0x06 - kAudioOutputFault = 0x07 - kUserInterfaceFault = 0x08 - kNonVolatileMemoryError = 0x09 - kTamperDetected = 0x0A - - class InterfaceType(IntEnum): - kUnspecified = 0x00 - kWiFi = 0x01 - kEthernet = 0x02 - kCellular = 0x03 - kThread = 0x04 - - class NetworkFaultType(IntEnum): - kUnspecified = 0x00 - kHardwareFailure = 0x01 - kNetworkJammed = 0x02 - kConnectionFailed = 0x03 - - class RadioFaultType(IntEnum): - kUnspecified = 0x00 - kWiFiFault = 0x01 - kCellularFault = 0x02 - kThreadFault = 0x03 - kNFCFault = 0x04 - kBLEFault = 0x05 - kEthernetFault = 0x06 - - - class Structs: - @dataclass - class NetworkInterfaceType(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="name", Tag=0, Type=str), - ClusterObjectFieldDescriptor(Label="isOperational", Tag=1, Type=bool), - ClusterObjectFieldDescriptor(Label="offPremiseServicesReachableIPv4", Tag=2, Type=typing.Union[Nullable, bool]), - ClusterObjectFieldDescriptor(Label="offPremiseServicesReachableIPv6", Tag=3, Type=typing.Union[Nullable, bool]), - ClusterObjectFieldDescriptor(Label="hardwareAddress", Tag=4, Type=bytes), - ClusterObjectFieldDescriptor(Label="IPv4Addresses", Tag=5, Type=typing.List[bytes]), - ClusterObjectFieldDescriptor(Label="IPv6Addresses", Tag=6, Type=typing.List[bytes]), - ClusterObjectFieldDescriptor(Label="type", Tag=7, Type=GeneralDiagnostics.Enums.InterfaceType), - ]) - - name: 'str' = "" - isOperational: 'bool' = False - offPremiseServicesReachableIPv4: 'typing.Union[Nullable, bool]' = NullValue - offPremiseServicesReachableIPv6: 'typing.Union[Nullable, bool]' = NullValue - hardwareAddress: 'bytes' = b"" - IPv4Addresses: 'typing.List[bytes]' = field(default_factory=lambda: []) - IPv6Addresses: 'typing.List[bytes]' = field(default_factory=lambda: []) - type: 'GeneralDiagnostics.Enums.InterfaceType' = 0 - - - - class Commands: - @dataclass - class TestEventTrigger(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0033 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="enableKey", Tag=0, Type=bytes), - ClusterObjectFieldDescriptor(Label="eventTrigger", Tag=1, Type=uint), - ]) - - enableKey: 'bytes' = b"" - eventTrigger: 'uint' = 0 - - - class Attributes: - @dataclass - class NetworkInterfaces(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0033 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000007 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[GeneralDiagnostics.Structs.NetworkInterfaceType]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, bool]) - value: 'typing.List[GeneralDiagnostics.Structs.NetworkInterfaceType]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, bool]' = None @dataclass - class RebootCount(ClusterAttributeDescriptor): + class TimeSinceReset(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0033 + return 0x0037 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000008 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'uint' = 0 + value: 'typing.Optional[uint]' = None @dataclass - class UpTime(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0033 + return 0x0037 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class TotalOperationalHours(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0033 + return 0x0037 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class BootReasons(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0033 + return 0x0037 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000004 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class ActiveHardwareFaults(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0033 + return 0x0037 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000005 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[uint]]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[typing.List[uint]]' = None + value: 'uint' = 0 @dataclass - class ActiveRadioFaults(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0033 + return 0x0037 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000006 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[uint]]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[typing.List[uint]]' = None + value: 'uint' = 0 - @dataclass - class ActiveNetworkFaults(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0033 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000007 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[uint]]) +@dataclass +class TimeSynchronization(Cluster): + id: typing.ClassVar[int] = 0x0038 - value: 'typing.Optional[typing.List[uint]]' = None + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) - @dataclass - class TestEventTriggersEnabled(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0033 + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000008 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) - value: 'bool' = False + class Attributes: @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0033 + return 0x0038 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -10542,7 +9953,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0033 + return 0x0038 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -10558,7 +9969,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0033 + return 0x0038 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -10574,7 +9985,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0033 + return 0x0038 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -10590,7 +10001,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0033 + return 0x0038 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -10603,183 +10014,167 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 - class Events: - @dataclass - class HardwareFaultChange(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0033 - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000000 +@dataclass +class BridgedDeviceBasic(Cluster): + id: typing.ClassVar[int] = 0x0039 - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="current", Tag=0, Type=typing.List[GeneralDiagnostics.Enums.HardwareFaultType]), - ClusterObjectFieldDescriptor(Label="previous", Tag=1, Type=typing.List[GeneralDiagnostics.Enums.HardwareFaultType]), - ]) + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="vendorName", Tag=0x00000001, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="vendorID", Tag=0x00000002, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="productName", Tag=0x00000003, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="nodeLabel", Tag=0x00000005, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="hardwareVersion", Tag=0x00000007, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="hardwareVersionString", Tag=0x00000008, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=0x00000009, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="softwareVersionString", Tag=0x0000000A, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="manufacturingDate", Tag=0x0000000B, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="partNumber", Tag=0x0000000C, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="productURL", Tag=0x0000000D, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="productLabel", Tag=0x0000000E, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="serialNumber", Tag=0x0000000F, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="reachable", Tag=0x00000011, Type=bool), + ClusterObjectFieldDescriptor(Label="uniqueID", Tag=0x00000012, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) - current: 'typing.List[GeneralDiagnostics.Enums.HardwareFaultType]' = field(default_factory=lambda: []) - previous: 'typing.List[GeneralDiagnostics.Enums.HardwareFaultType]' = field(default_factory=lambda: []) + vendorName: 'typing.Optional[str]' = None + vendorID: 'typing.Optional[uint]' = None + productName: 'typing.Optional[str]' = None + nodeLabel: 'typing.Optional[str]' = None + hardwareVersion: 'typing.Optional[uint]' = None + hardwareVersionString: 'typing.Optional[str]' = None + softwareVersion: 'typing.Optional[uint]' = None + softwareVersionString: 'typing.Optional[str]' = None + manufacturingDate: 'typing.Optional[str]' = None + partNumber: 'typing.Optional[str]' = None + productURL: 'typing.Optional[str]' = None + productLabel: 'typing.Optional[str]' = None + serialNumber: 'typing.Optional[str]' = None + reachable: 'bool' = None + uniqueID: 'typing.Optional[str]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + + + + class Attributes: @dataclass - class RadioFaultChange(ClusterEvent): + class VendorName(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0033 + return 0x0039 @ChipUtility.classproperty - def event_id(cls) -> int: + def attribute_id(cls) -> int: return 0x00000001 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="current", Tag=0, Type=typing.List[GeneralDiagnostics.Enums.RadioFaultType]), - ClusterObjectFieldDescriptor(Label="previous", Tag=1, Type=typing.List[GeneralDiagnostics.Enums.RadioFaultType]), - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - current: 'typing.List[GeneralDiagnostics.Enums.RadioFaultType]' = field(default_factory=lambda: []) - previous: 'typing.List[GeneralDiagnostics.Enums.RadioFaultType]' = field(default_factory=lambda: []) + value: 'typing.Optional[str]' = None @dataclass - class NetworkFaultChange(ClusterEvent): + class VendorID(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0033 + return 0x0039 @ChipUtility.classproperty - def event_id(cls) -> int: + def attribute_id(cls) -> int: return 0x00000002 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="current", Tag=0, Type=typing.List[GeneralDiagnostics.Enums.NetworkFaultType]), - ClusterObjectFieldDescriptor(Label="previous", Tag=1, Type=typing.List[GeneralDiagnostics.Enums.NetworkFaultType]), - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - current: 'typing.List[GeneralDiagnostics.Enums.NetworkFaultType]' = field(default_factory=lambda: []) - previous: 'typing.List[GeneralDiagnostics.Enums.NetworkFaultType]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class BootReason(ClusterEvent): + class ProductName(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0033 + return 0x0039 @ChipUtility.classproperty - def event_id(cls) -> int: + def attribute_id(cls) -> int: return 0x00000003 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="bootReason", Tag=0, Type=GeneralDiagnostics.Enums.BootReasonType), - ]) - - bootReason: 'GeneralDiagnostics.Enums.BootReasonType' = 0 - - -@dataclass -class SoftwareDiagnostics(Cluster): - id: typing.ClassVar[int] = 0x0034 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="threadMetrics", Tag=0x00000000, Type=typing.Optional[typing.List[SoftwareDiagnostics.Structs.ThreadMetrics]]), - ClusterObjectFieldDescriptor(Label="currentHeapFree", Tag=0x00000001, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="currentHeapUsed", Tag=0x00000002, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="currentHeapHighWatermark", Tag=0x00000003, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - threadMetrics: 'typing.Optional[typing.List[SoftwareDiagnostics.Structs.ThreadMetrics]]' = None - currentHeapFree: 'typing.Optional[uint]' = None - currentHeapUsed: 'typing.Optional[uint]' = None - currentHeapHighWatermark: 'typing.Optional[uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + value: 'typing.Optional[str]' = None - class Structs: @dataclass - class ThreadMetrics(ClusterObject): + class NodeLabel(ClusterAttributeDescriptor): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="id", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="stackFreeCurrent", Tag=2, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="stackFreeMinimum", Tag=3, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="stackSize", Tag=4, Type=typing.Optional[uint]), - ]) + def cluster_id(cls) -> int: + return 0x0039 - id: 'uint' = 0 - name: 'typing.Optional[str]' = None - stackFreeCurrent: 'typing.Optional[uint]' = None - stackFreeMinimum: 'typing.Optional[uint]' = None - stackSize: 'typing.Optional[uint]' = None + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + value: 'typing.Optional[str]' = None - class Commands: @dataclass - class ResetWatermarks(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0034 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True + class HardwareVersion(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0039 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) + def attribute_id(cls) -> int: + return 0x00000007 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Attributes: @dataclass - class ThreadMetrics(ClusterAttributeDescriptor): + class HardwareVersionString(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0034 + return 0x0039 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000008 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[SoftwareDiagnostics.Structs.ThreadMetrics]]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'typing.Optional[typing.List[SoftwareDiagnostics.Structs.ThreadMetrics]]' = None + value: 'typing.Optional[str]' = None @dataclass - class CurrentHeapFree(ClusterAttributeDescriptor): + class SoftwareVersion(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0034 + return 0x0039 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000009 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -10788,9892 +10183,299 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Optional[uint]' = None @dataclass - class CurrentHeapUsed(ClusterAttributeDescriptor): + class SoftwareVersionString(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0034 + return 0x0039 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x0000000A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'typing.Optional[uint]' = None + value: 'typing.Optional[str]' = None @dataclass - class CurrentHeapHighWatermark(ClusterAttributeDescriptor): + class ManufacturingDate(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0034 + return 0x0039 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x0000000B @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'typing.Optional[uint]' = None + value: 'typing.Optional[str]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class PartNumber(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0034 + return 0x0039 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x0000000C @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[str]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class ProductURL(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0034 + return 0x0039 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x0000000D @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[str]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class ProductLabel(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0034 + return 0x0039 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x0000000E @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[str]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class SerialNumber(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0034 + return 0x0039 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x0000000F @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'uint' = 0 + value: 'typing.Optional[str]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class Reachable(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0034 + return 0x0039 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000011 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 + return ClusterObjectFieldDescriptor(Type=bool) + value: 'bool' = False - class Events: @dataclass - class SoftwareFault(ClusterEvent): + class UniqueID(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0034 + return 0x0039 @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000000 + def attribute_id(cls) -> int: + return 0x00000012 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="id", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="faultRecording", Tag=2, Type=typing.Optional[bytes]), - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - id: 'uint' = 0 - name: 'typing.Optional[str]' = None - faultRecording: 'typing.Optional[bytes]' = None - - -@dataclass -class ThreadNetworkDiagnostics(Cluster): - id: typing.ClassVar[int] = 0x0035 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="channel", Tag=0x00000000, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="routingRole", Tag=0x00000001, Type=typing.Union[Nullable, ThreadNetworkDiagnostics.Enums.RoutingRole]), - ClusterObjectFieldDescriptor(Label="networkName", Tag=0x00000002, Type=typing.Union[Nullable, str]), - ClusterObjectFieldDescriptor(Label="panId", Tag=0x00000003, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="extendedPanId", Tag=0x00000004, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="meshLocalPrefix", Tag=0x00000005, Type=typing.Union[Nullable, bytes]), - ClusterObjectFieldDescriptor(Label="overrunCount", Tag=0x00000006, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="neighborTableList", Tag=0x00000007, Type=typing.List[ThreadNetworkDiagnostics.Structs.NeighborTable]), - ClusterObjectFieldDescriptor(Label="routeTableList", Tag=0x00000008, Type=typing.List[ThreadNetworkDiagnostics.Structs.RouteTable]), - ClusterObjectFieldDescriptor(Label="partitionId", Tag=0x00000009, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="weighting", Tag=0x0000000A, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="dataVersion", Tag=0x0000000B, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="stableDataVersion", Tag=0x0000000C, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="leaderRouterId", Tag=0x0000000D, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="detachedRoleCount", Tag=0x0000000E, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="childRoleCount", Tag=0x0000000F, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="routerRoleCount", Tag=0x00000010, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="leaderRoleCount", Tag=0x00000011, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="attachAttemptCount", Tag=0x00000012, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="partitionIdChangeCount", Tag=0x00000013, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="betterPartitionAttachAttemptCount", Tag=0x00000014, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="parentChangeCount", Tag=0x00000015, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txTotalCount", Tag=0x00000016, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txUnicastCount", Tag=0x00000017, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txBroadcastCount", Tag=0x00000018, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txAckRequestedCount", Tag=0x00000019, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txAckedCount", Tag=0x0000001A, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txNoAckRequestedCount", Tag=0x0000001B, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txDataCount", Tag=0x0000001C, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txDataPollCount", Tag=0x0000001D, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txBeaconCount", Tag=0x0000001E, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txBeaconRequestCount", Tag=0x0000001F, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txOtherCount", Tag=0x00000020, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txRetryCount", Tag=0x00000021, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txDirectMaxRetryExpiryCount", Tag=0x00000022, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txIndirectMaxRetryExpiryCount", Tag=0x00000023, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txErrCcaCount", Tag=0x00000024, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txErrAbortCount", Tag=0x00000025, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txErrBusyChannelCount", Tag=0x00000026, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rxTotalCount", Tag=0x00000027, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rxUnicastCount", Tag=0x00000028, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rxBroadcastCount", Tag=0x00000029, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rxDataCount", Tag=0x0000002A, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rxDataPollCount", Tag=0x0000002B, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rxBeaconCount", Tag=0x0000002C, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rxBeaconRequestCount", Tag=0x0000002D, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rxOtherCount", Tag=0x0000002E, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rxAddressFilteredCount", Tag=0x0000002F, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rxDestAddrFilteredCount", Tag=0x00000030, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rxDuplicatedCount", Tag=0x00000031, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rxErrNoFrameCount", Tag=0x00000032, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rxErrUnknownNeighborCount", Tag=0x00000033, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rxErrInvalidSrcAddrCount", Tag=0x00000034, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rxErrSecCount", Tag=0x00000035, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rxErrFcsCount", Tag=0x00000036, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rxErrOtherCount", Tag=0x00000037, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="activeTimestamp", Tag=0x00000038, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="pendingTimestamp", Tag=0x00000039, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="delay", Tag=0x0000003A, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="securityPolicy", Tag=0x0000003B, Type=typing.Union[Nullable, ThreadNetworkDiagnostics.Structs.SecurityPolicy]), - ClusterObjectFieldDescriptor(Label="channelMask", Tag=0x0000003C, Type=typing.Union[Nullable, bytes]), - ClusterObjectFieldDescriptor(Label="operationalDatasetComponents", Tag=0x0000003D, Type=typing.Union[Nullable, ThreadNetworkDiagnostics.Structs.OperationalDatasetComponents]), - ClusterObjectFieldDescriptor(Label="activeNetworkFaultsList", Tag=0x0000003E, Type=typing.List[ThreadNetworkDiagnostics.Enums.NetworkFault]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - channel: 'typing.Union[Nullable, uint]' = None - routingRole: 'typing.Union[Nullable, ThreadNetworkDiagnostics.Enums.RoutingRole]' = None - networkName: 'typing.Union[Nullable, str]' = None - panId: 'typing.Union[Nullable, uint]' = None - extendedPanId: 'typing.Union[Nullable, uint]' = None - meshLocalPrefix: 'typing.Union[Nullable, bytes]' = None - overrunCount: 'typing.Optional[uint]' = None - neighborTableList: 'typing.List[ThreadNetworkDiagnostics.Structs.NeighborTable]' = None - routeTableList: 'typing.List[ThreadNetworkDiagnostics.Structs.RouteTable]' = None - partitionId: 'typing.Union[Nullable, uint]' = None - weighting: 'typing.Union[Nullable, uint]' = None - dataVersion: 'typing.Union[Nullable, uint]' = None - stableDataVersion: 'typing.Union[Nullable, uint]' = None - leaderRouterId: 'typing.Union[Nullable, uint]' = None - detachedRoleCount: 'typing.Optional[uint]' = None - childRoleCount: 'typing.Optional[uint]' = None - routerRoleCount: 'typing.Optional[uint]' = None - leaderRoleCount: 'typing.Optional[uint]' = None - attachAttemptCount: 'typing.Optional[uint]' = None - partitionIdChangeCount: 'typing.Optional[uint]' = None - betterPartitionAttachAttemptCount: 'typing.Optional[uint]' = None - parentChangeCount: 'typing.Optional[uint]' = None - txTotalCount: 'typing.Optional[uint]' = None - txUnicastCount: 'typing.Optional[uint]' = None - txBroadcastCount: 'typing.Optional[uint]' = None - txAckRequestedCount: 'typing.Optional[uint]' = None - txAckedCount: 'typing.Optional[uint]' = None - txNoAckRequestedCount: 'typing.Optional[uint]' = None - txDataCount: 'typing.Optional[uint]' = None - txDataPollCount: 'typing.Optional[uint]' = None - txBeaconCount: 'typing.Optional[uint]' = None - txBeaconRequestCount: 'typing.Optional[uint]' = None - txOtherCount: 'typing.Optional[uint]' = None - txRetryCount: 'typing.Optional[uint]' = None - txDirectMaxRetryExpiryCount: 'typing.Optional[uint]' = None - txIndirectMaxRetryExpiryCount: 'typing.Optional[uint]' = None - txErrCcaCount: 'typing.Optional[uint]' = None - txErrAbortCount: 'typing.Optional[uint]' = None - txErrBusyChannelCount: 'typing.Optional[uint]' = None - rxTotalCount: 'typing.Optional[uint]' = None - rxUnicastCount: 'typing.Optional[uint]' = None - rxBroadcastCount: 'typing.Optional[uint]' = None - rxDataCount: 'typing.Optional[uint]' = None - rxDataPollCount: 'typing.Optional[uint]' = None - rxBeaconCount: 'typing.Optional[uint]' = None - rxBeaconRequestCount: 'typing.Optional[uint]' = None - rxOtherCount: 'typing.Optional[uint]' = None - rxAddressFilteredCount: 'typing.Optional[uint]' = None - rxDestAddrFilteredCount: 'typing.Optional[uint]' = None - rxDuplicatedCount: 'typing.Optional[uint]' = None - rxErrNoFrameCount: 'typing.Optional[uint]' = None - rxErrUnknownNeighborCount: 'typing.Optional[uint]' = None - rxErrInvalidSrcAddrCount: 'typing.Optional[uint]' = None - rxErrSecCount: 'typing.Optional[uint]' = None - rxErrFcsCount: 'typing.Optional[uint]' = None - rxErrOtherCount: 'typing.Optional[uint]' = None - activeTimestamp: 'typing.Union[None, Nullable, uint]' = None - pendingTimestamp: 'typing.Union[None, Nullable, uint]' = None - delay: 'typing.Union[None, Nullable, uint]' = None - securityPolicy: 'typing.Union[Nullable, ThreadNetworkDiagnostics.Structs.SecurityPolicy]' = None - channelMask: 'typing.Union[Nullable, bytes]' = None - operationalDatasetComponents: 'typing.Union[Nullable, ThreadNetworkDiagnostics.Structs.OperationalDatasetComponents]' = None - activeNetworkFaultsList: 'typing.List[ThreadNetworkDiagnostics.Enums.NetworkFault]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - class Enums: - class NetworkFault(IntEnum): - kUnspecified = 0x00 - kLinkDown = 0x01 - kHardwareFailure = 0x02 - kNetworkJammed = 0x03 - - class RoutingRole(IntEnum): - kUnspecified = 0x00 - kUnassigned = 0x01 - kSleepyEndDevice = 0x02 - kEndDevice = 0x03 - kReed = 0x04 - kRouter = 0x05 - kLeader = 0x06 - - class ThreadConnectionStatus(IntEnum): - kConnected = 0x00 - kNotConnected = 0x01 - - - class Structs: - @dataclass - class NeighborTable(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="extAddress", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="age", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="rloc16", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="linkFrameCounter", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="mleFrameCounter", Tag=4, Type=uint), - ClusterObjectFieldDescriptor(Label="lqi", Tag=5, Type=uint), - ClusterObjectFieldDescriptor(Label="averageRssi", Tag=6, Type=typing.Union[Nullable, int]), - ClusterObjectFieldDescriptor(Label="lastRssi", Tag=7, Type=typing.Union[Nullable, int]), - ClusterObjectFieldDescriptor(Label="frameErrorRate", Tag=8, Type=uint), - ClusterObjectFieldDescriptor(Label="messageErrorRate", Tag=9, Type=uint), - ClusterObjectFieldDescriptor(Label="rxOnWhenIdle", Tag=10, Type=bool), - ClusterObjectFieldDescriptor(Label="fullThreadDevice", Tag=11, Type=bool), - ClusterObjectFieldDescriptor(Label="fullNetworkData", Tag=12, Type=bool), - ClusterObjectFieldDescriptor(Label="isChild", Tag=13, Type=bool), - ]) - - extAddress: 'uint' = 0 - age: 'uint' = 0 - rloc16: 'uint' = 0 - linkFrameCounter: 'uint' = 0 - mleFrameCounter: 'uint' = 0 - lqi: 'uint' = 0 - averageRssi: 'typing.Union[Nullable, int]' = NullValue - lastRssi: 'typing.Union[Nullable, int]' = NullValue - frameErrorRate: 'uint' = 0 - messageErrorRate: 'uint' = 0 - rxOnWhenIdle: 'bool' = False - fullThreadDevice: 'bool' = False - fullNetworkData: 'bool' = False - isChild: 'bool' = False - - @dataclass - class OperationalDatasetComponents(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="activeTimestampPresent", Tag=0, Type=bool), - ClusterObjectFieldDescriptor(Label="pendingTimestampPresent", Tag=1, Type=bool), - ClusterObjectFieldDescriptor(Label="masterKeyPresent", Tag=2, Type=bool), - ClusterObjectFieldDescriptor(Label="networkNamePresent", Tag=3, Type=bool), - ClusterObjectFieldDescriptor(Label="extendedPanIdPresent", Tag=4, Type=bool), - ClusterObjectFieldDescriptor(Label="meshLocalPrefixPresent", Tag=5, Type=bool), - ClusterObjectFieldDescriptor(Label="delayPresent", Tag=6, Type=bool), - ClusterObjectFieldDescriptor(Label="panIdPresent", Tag=7, Type=bool), - ClusterObjectFieldDescriptor(Label="channelPresent", Tag=8, Type=bool), - ClusterObjectFieldDescriptor(Label="pskcPresent", Tag=9, Type=bool), - ClusterObjectFieldDescriptor(Label="securityPolicyPresent", Tag=10, Type=bool), - ClusterObjectFieldDescriptor(Label="channelMaskPresent", Tag=11, Type=bool), - ]) - - activeTimestampPresent: 'bool' = False - pendingTimestampPresent: 'bool' = False - masterKeyPresent: 'bool' = False - networkNamePresent: 'bool' = False - extendedPanIdPresent: 'bool' = False - meshLocalPrefixPresent: 'bool' = False - delayPresent: 'bool' = False - panIdPresent: 'bool' = False - channelPresent: 'bool' = False - pskcPresent: 'bool' = False - securityPolicyPresent: 'bool' = False - channelMaskPresent: 'bool' = False - - @dataclass - class RouteTable(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="extAddress", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="rloc16", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="routerId", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="nextHop", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="pathCost", Tag=4, Type=uint), - ClusterObjectFieldDescriptor(Label="LQIIn", Tag=5, Type=uint), - ClusterObjectFieldDescriptor(Label="LQIOut", Tag=6, Type=uint), - ClusterObjectFieldDescriptor(Label="age", Tag=7, Type=uint), - ClusterObjectFieldDescriptor(Label="allocated", Tag=8, Type=bool), - ClusterObjectFieldDescriptor(Label="linkEstablished", Tag=9, Type=bool), - ]) - - extAddress: 'uint' = 0 - rloc16: 'uint' = 0 - routerId: 'uint' = 0 - nextHop: 'uint' = 0 - pathCost: 'uint' = 0 - LQIIn: 'uint' = 0 - LQIOut: 'uint' = 0 - age: 'uint' = 0 - allocated: 'bool' = False - linkEstablished: 'bool' = False - - @dataclass - class SecurityPolicy(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="rotationTime", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="flags", Tag=1, Type=uint), - ]) - - rotationTime: 'uint' = 0 - flags: 'uint' = 0 - - - - class Commands: - @dataclass - class ResetCounts(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0035 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - - class Attributes: - @dataclass - class Channel(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - - value: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class RoutingRole(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, ThreadNetworkDiagnostics.Enums.RoutingRole]) - - value: 'typing.Union[Nullable, ThreadNetworkDiagnostics.Enums.RoutingRole]' = NullValue - - @dataclass - class NetworkName(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, str]) - - value: 'typing.Union[Nullable, str]' = NullValue - - @dataclass - class PanId(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - - value: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class ExtendedPanId(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000004 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - - value: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class MeshLocalPrefix(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000005 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, bytes]) - - value: 'typing.Union[Nullable, bytes]' = NullValue - - @dataclass - class OverrunCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000006 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class NeighborTableList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000007 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[ThreadNetworkDiagnostics.Structs.NeighborTable]) - - value: 'typing.List[ThreadNetworkDiagnostics.Structs.NeighborTable]' = field(default_factory=lambda: []) - - @dataclass - class RouteTableList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000008 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[ThreadNetworkDiagnostics.Structs.RouteTable]) - - value: 'typing.List[ThreadNetworkDiagnostics.Structs.RouteTable]' = field(default_factory=lambda: []) - - @dataclass - class PartitionId(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000009 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - - value: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class Weighting(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000A - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - - value: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class DataVersion(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000B - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - - value: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class StableDataVersion(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000C - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - - value: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class LeaderRouterId(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000D - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - - value: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class DetachedRoleCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000E - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class ChildRoleCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000F - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RouterRoleCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000010 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class LeaderRoleCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000011 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class AttachAttemptCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000012 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class PartitionIdChangeCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000013 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class BetterPartitionAttachAttemptCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000014 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class ParentChangeCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000015 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxTotalCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000016 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxUnicastCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000017 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxBroadcastCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000018 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxAckRequestedCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000019 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxAckedCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000001A - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxNoAckRequestedCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000001B - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxDataCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000001C - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxDataPollCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000001D - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxBeaconCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000001E - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxBeaconRequestCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000001F - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxOtherCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000020 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxRetryCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000021 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxDirectMaxRetryExpiryCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000022 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxIndirectMaxRetryExpiryCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000023 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxErrCcaCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000024 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxErrAbortCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000025 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxErrBusyChannelCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000026 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RxTotalCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000027 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RxUnicastCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000028 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RxBroadcastCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000029 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RxDataCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000002A - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RxDataPollCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000002B - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RxBeaconCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000002C - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RxBeaconRequestCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000002D - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RxOtherCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000002E - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RxAddressFilteredCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000002F - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RxDestAddrFilteredCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000030 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RxDuplicatedCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000031 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RxErrNoFrameCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000032 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RxErrUnknownNeighborCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000033 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RxErrInvalidSrcAddrCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000034 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RxErrSecCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000035 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RxErrFcsCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000036 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RxErrOtherCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000037 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class ActiveTimestamp(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000038 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class PendingTimestamp(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000039 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class Delay(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000003A - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class SecurityPolicy(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000003B - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, ThreadNetworkDiagnostics.Structs.SecurityPolicy]) - - value: 'typing.Union[Nullable, ThreadNetworkDiagnostics.Structs.SecurityPolicy]' = NullValue - - @dataclass - class ChannelMask(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000003C - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, bytes]) - - value: 'typing.Union[Nullable, bytes]' = NullValue - - @dataclass - class OperationalDatasetComponents(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000003D - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, ThreadNetworkDiagnostics.Structs.OperationalDatasetComponents]) - - value: 'typing.Union[Nullable, ThreadNetworkDiagnostics.Structs.OperationalDatasetComponents]' = NullValue - - @dataclass - class ActiveNetworkFaultsList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000003E - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[ThreadNetworkDiagnostics.Enums.NetworkFault]) - - value: 'typing.List[ThreadNetworkDiagnostics.Enums.NetworkFault]' = field(default_factory=lambda: []) - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - class Events: - @dataclass - class ConnectionStatus(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0035 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="connectionStatus", Tag=0, Type=ThreadNetworkDiagnostics.Enums.ThreadConnectionStatus), - ]) - - connectionStatus: 'ThreadNetworkDiagnostics.Enums.ThreadConnectionStatus' = 0 - - -@dataclass -class WiFiNetworkDiagnostics(Cluster): - id: typing.ClassVar[int] = 0x0036 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="bssid", Tag=0x00000000, Type=typing.Union[Nullable, bytes]), - ClusterObjectFieldDescriptor(Label="securityType", Tag=0x00000001, Type=typing.Union[Nullable, WiFiNetworkDiagnostics.Enums.SecurityType]), - ClusterObjectFieldDescriptor(Label="wiFiVersion", Tag=0x00000002, Type=typing.Union[Nullable, WiFiNetworkDiagnostics.Enums.WiFiVersionType]), - ClusterObjectFieldDescriptor(Label="channelNumber", Tag=0x00000003, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="rssi", Tag=0x00000004, Type=typing.Union[Nullable, int]), - ClusterObjectFieldDescriptor(Label="beaconLostCount", Tag=0x00000005, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="beaconRxCount", Tag=0x00000006, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="packetMulticastRxCount", Tag=0x00000007, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="packetMulticastTxCount", Tag=0x00000008, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="packetUnicastRxCount", Tag=0x00000009, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="packetUnicastTxCount", Tag=0x0000000A, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="currentMaxRate", Tag=0x0000000B, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="overrunCount", Tag=0x0000000C, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - bssid: 'typing.Union[Nullable, bytes]' = None - securityType: 'typing.Union[Nullable, WiFiNetworkDiagnostics.Enums.SecurityType]' = None - wiFiVersion: 'typing.Union[Nullable, WiFiNetworkDiagnostics.Enums.WiFiVersionType]' = None - channelNumber: 'typing.Union[Nullable, uint]' = None - rssi: 'typing.Union[Nullable, int]' = None - beaconLostCount: 'typing.Optional[uint]' = None - beaconRxCount: 'typing.Optional[uint]' = None - packetMulticastRxCount: 'typing.Optional[uint]' = None - packetMulticastTxCount: 'typing.Optional[uint]' = None - packetUnicastRxCount: 'typing.Optional[uint]' = None - packetUnicastTxCount: 'typing.Optional[uint]' = None - currentMaxRate: 'typing.Optional[uint]' = None - overrunCount: 'typing.Optional[uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - class Enums: - class AssociationFailureCause(IntEnum): - kUnknown = 0x00 - kAssociationFailed = 0x01 - kAuthenticationFailed = 0x02 - kSsidNotFound = 0x03 - - class SecurityType(IntEnum): - kUnspecified = 0x00 - kNone = 0x01 - kWep = 0x02 - kWpa = 0x03 - kWpa2 = 0x04 - kWpa3 = 0x05 - - class WiFiConnectionStatus(IntEnum): - kConnected = 0x00 - kNotConnected = 0x01 - - class WiFiVersionType(IntEnum): - k80211a = 0x00 - k80211b = 0x01 - k80211g = 0x02 - k80211n = 0x03 - k80211ac = 0x04 - k80211ax = 0x05 - - - - class Commands: - @dataclass - class ResetCounts(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0036 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - - class Attributes: - @dataclass - class Bssid(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, bytes]) - - value: 'typing.Union[Nullable, bytes]' = NullValue - - @dataclass - class SecurityType(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, WiFiNetworkDiagnostics.Enums.SecurityType]) - - value: 'typing.Union[Nullable, WiFiNetworkDiagnostics.Enums.SecurityType]' = NullValue - - @dataclass - class WiFiVersion(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, WiFiNetworkDiagnostics.Enums.WiFiVersionType]) - - value: 'typing.Union[Nullable, WiFiNetworkDiagnostics.Enums.WiFiVersionType]' = NullValue - - @dataclass - class ChannelNumber(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - - value: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class Rssi(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000004 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) - - value: 'typing.Union[Nullable, int]' = NullValue - - @dataclass - class BeaconLostCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000005 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class BeaconRxCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000006 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class PacketMulticastRxCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000007 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class PacketMulticastTxCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000008 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class PacketUnicastRxCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000009 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class PacketUnicastTxCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000A - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class CurrentMaxRate(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000B - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class OverrunCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000C - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - class Events: - @dataclass - class Disconnection(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="reasonCode", Tag=0, Type=uint), - ]) - - reasonCode: 'uint' = 0 - - @dataclass - class AssociationFailure(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="associationFailure", Tag=0, Type=WiFiNetworkDiagnostics.Enums.AssociationFailureCause), - ClusterObjectFieldDescriptor(Label="status", Tag=1, Type=uint), - ]) - - associationFailure: 'WiFiNetworkDiagnostics.Enums.AssociationFailureCause' = 0 - status: 'uint' = 0 - - @dataclass - class ConnectionStatus(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0036 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="connectionStatus", Tag=0, Type=WiFiNetworkDiagnostics.Enums.WiFiConnectionStatus), - ]) - - connectionStatus: 'WiFiNetworkDiagnostics.Enums.WiFiConnectionStatus' = 0 - - -@dataclass -class EthernetNetworkDiagnostics(Cluster): - id: typing.ClassVar[int] = 0x0037 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="PHYRate", Tag=0x00000000, Type=typing.Union[None, Nullable, EthernetNetworkDiagnostics.Enums.PHYRateType]), - ClusterObjectFieldDescriptor(Label="fullDuplex", Tag=0x00000001, Type=typing.Union[None, Nullable, bool]), - ClusterObjectFieldDescriptor(Label="packetRxCount", Tag=0x00000002, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="packetTxCount", Tag=0x00000003, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="txErrCount", Tag=0x00000004, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="collisionCount", Tag=0x00000005, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="overrunCount", Tag=0x00000006, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="carrierDetect", Tag=0x00000007, Type=typing.Union[None, Nullable, bool]), - ClusterObjectFieldDescriptor(Label="timeSinceReset", Tag=0x00000008, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - PHYRate: 'typing.Union[None, Nullable, EthernetNetworkDiagnostics.Enums.PHYRateType]' = None - fullDuplex: 'typing.Union[None, Nullable, bool]' = None - packetRxCount: 'typing.Optional[uint]' = None - packetTxCount: 'typing.Optional[uint]' = None - txErrCount: 'typing.Optional[uint]' = None - collisionCount: 'typing.Optional[uint]' = None - overrunCount: 'typing.Optional[uint]' = None - carrierDetect: 'typing.Union[None, Nullable, bool]' = None - timeSinceReset: 'typing.Optional[uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - class Enums: - class PHYRateType(IntEnum): - k10m = 0x00 - k100m = 0x01 - k1000m = 0x02 - k25g = 0x03 - k5g = 0x04 - k10g = 0x05 - k40g = 0x06 - k100g = 0x07 - k200g = 0x08 - k400g = 0x09 - - - - class Commands: - @dataclass - class ResetCounts(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0037 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - - class Attributes: - @dataclass - class PHYRate(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0037 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, EthernetNetworkDiagnostics.Enums.PHYRateType]) - - value: 'typing.Union[None, Nullable, EthernetNetworkDiagnostics.Enums.PHYRateType]' = None - - @dataclass - class FullDuplex(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0037 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, bool]) - - value: 'typing.Union[None, Nullable, bool]' = None - - @dataclass - class PacketRxCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0037 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class PacketTxCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0037 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TxErrCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0037 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000004 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class CollisionCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0037 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000005 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class OverrunCount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0037 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000006 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class CarrierDetect(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0037 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000007 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, bool]) - - value: 'typing.Union[None, Nullable, bool]' = None - - @dataclass - class TimeSinceReset(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0037 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000008 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0037 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0037 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0037 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0037 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0037 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class TimeSynchronization(Cluster): - id: typing.ClassVar[int] = 0x0038 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - - - class Attributes: - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0038 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0038 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0038 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0038 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0038 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class BridgedDeviceBasic(Cluster): - id: typing.ClassVar[int] = 0x0039 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="vendorName", Tag=0x00000001, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="vendorID", Tag=0x00000002, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="productName", Tag=0x00000003, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="nodeLabel", Tag=0x00000005, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="hardwareVersion", Tag=0x00000007, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="hardwareVersionString", Tag=0x00000008, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=0x00000009, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="softwareVersionString", Tag=0x0000000A, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="manufacturingDate", Tag=0x0000000B, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="partNumber", Tag=0x0000000C, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="productURL", Tag=0x0000000D, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="productLabel", Tag=0x0000000E, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="serialNumber", Tag=0x0000000F, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="reachable", Tag=0x00000011, Type=bool), - ClusterObjectFieldDescriptor(Label="uniqueID", Tag=0x00000012, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - vendorName: 'typing.Optional[str]' = None - vendorID: 'typing.Optional[uint]' = None - productName: 'typing.Optional[str]' = None - nodeLabel: 'typing.Optional[str]' = None - hardwareVersion: 'typing.Optional[uint]' = None - hardwareVersionString: 'typing.Optional[str]' = None - softwareVersion: 'typing.Optional[uint]' = None - softwareVersionString: 'typing.Optional[str]' = None - manufacturingDate: 'typing.Optional[str]' = None - partNumber: 'typing.Optional[str]' = None - productURL: 'typing.Optional[str]' = None - productLabel: 'typing.Optional[str]' = None - serialNumber: 'typing.Optional[str]' = None - reachable: 'bool' = None - uniqueID: 'typing.Optional[str]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - - - class Attributes: - @dataclass - class VendorName(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - - value: 'typing.Optional[str]' = None - - @dataclass - class VendorID(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class ProductName(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - - value: 'typing.Optional[str]' = None - - @dataclass - class NodeLabel(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000005 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - - value: 'typing.Optional[str]' = None - - @dataclass - class HardwareVersion(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000007 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class HardwareVersionString(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000008 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - - value: 'typing.Optional[str]' = None - - @dataclass - class SoftwareVersion(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000009 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class SoftwareVersionString(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000A - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - - value: 'typing.Optional[str]' = None - - @dataclass - class ManufacturingDate(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000B - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - - value: 'typing.Optional[str]' = None - - @dataclass - class PartNumber(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000C - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - - value: 'typing.Optional[str]' = None - - @dataclass - class ProductURL(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000D - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - - value: 'typing.Optional[str]' = None - - @dataclass - class ProductLabel(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000E - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - - value: 'typing.Optional[str]' = None - - @dataclass - class SerialNumber(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000F - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - - value: 'typing.Optional[str]' = None - - @dataclass - class Reachable(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000011 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) - - value: 'bool' = False - - @dataclass - class UniqueID(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000012 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - - value: 'typing.Optional[str]' = None - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - class Events: - @dataclass - class StartUp(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=0, Type=uint), - ]) - - softwareVersion: 'uint' = 0 - - @dataclass - class ShutDown(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class Leave(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class ReachableChanged(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0039 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="reachableNewValue", Tag=0, Type=bool), - ]) - - reachableNewValue: 'bool' = False - - -@dataclass -class Switch(Cluster): - id: typing.ClassVar[int] = 0x003B - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="numberOfPositions", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="currentPosition", Tag=0x00000001, Type=uint), - ClusterObjectFieldDescriptor(Label="multiPressMax", Tag=0x00000002, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - numberOfPositions: 'uint' = None - currentPosition: 'uint' = None - multiPressMax: 'typing.Optional[uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - - - class Attributes: - @dataclass - class NumberOfPositions(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003B - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class CurrentPosition(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003B - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class MultiPressMax(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003B - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003B - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003B - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003B - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003B - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003B - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - class Events: - @dataclass - class SwitchLatched(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003B - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="newPosition", Tag=0, Type=uint), - ]) - - newPosition: 'uint' = 0 - - @dataclass - class InitialPress(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003B - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="newPosition", Tag=0, Type=uint), - ]) - - newPosition: 'uint' = 0 - - @dataclass - class LongPress(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003B - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="newPosition", Tag=0, Type=uint), - ]) - - newPosition: 'uint' = 0 - - @dataclass - class ShortRelease(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003B - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="previousPosition", Tag=0, Type=uint), - ]) - - previousPosition: 'uint' = 0 - - @dataclass - class LongRelease(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003B - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000004 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="previousPosition", Tag=0, Type=uint), - ]) - - previousPosition: 'uint' = 0 - - @dataclass - class MultiPressOngoing(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003B - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000005 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="newPosition", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="currentNumberOfPressesCounted", Tag=1, Type=uint), - ]) - - newPosition: 'uint' = 0 - currentNumberOfPressesCounted: 'uint' = 0 - - @dataclass - class MultiPressComplete(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003B - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000006 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="newPosition", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="totalNumberOfPressesCounted", Tag=1, Type=uint), - ]) - - newPosition: 'uint' = 0 - totalNumberOfPressesCounted: 'uint' = 0 - - -@dataclass -class AdministratorCommissioning(Cluster): - id: typing.ClassVar[int] = 0x003C - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="windowStatus", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="adminFabricIndex", Tag=0x00000001, Type=uint), - ClusterObjectFieldDescriptor(Label="adminVendorId", Tag=0x00000002, Type=uint), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - windowStatus: 'uint' = None - adminFabricIndex: 'uint' = None - adminVendorId: 'uint' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - class Enums: - class CommissioningWindowStatus(IntEnum): - kWindowNotOpen = 0x00 - kEnhancedWindowOpen = 0x01 - kBasicWindowOpen = 0x02 - - class StatusCode(IntEnum): - kBusy = 0x01 - kPAKEParameterError = 0x02 - kWindowNotOpen = 0x03 - - - - class Commands: - @dataclass - class OpenCommissioningWindow(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003C - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="commissioningTimeout", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="PAKEVerifier", Tag=1, Type=bytes), - ClusterObjectFieldDescriptor(Label="discriminator", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="iterations", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="salt", Tag=4, Type=bytes), - ]) - - @ChipUtility.classproperty - def must_use_timed_invoke(cls) -> bool: - return True - - commissioningTimeout: 'uint' = 0 - PAKEVerifier: 'bytes' = b"" - discriminator: 'uint' = 0 - iterations: 'uint' = 0 - salt: 'bytes' = b"" - - @dataclass - class OpenBasicCommissioningWindow(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003C - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="commissioningTimeout", Tag=0, Type=uint), - ]) - - @ChipUtility.classproperty - def must_use_timed_invoke(cls) -> bool: - return True - - commissioningTimeout: 'uint' = 0 - - @dataclass - class RevokeCommissioning(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003C - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - @ChipUtility.classproperty - def must_use_timed_invoke(cls) -> bool: - return True - - - - class Attributes: - @dataclass - class WindowStatus(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003C - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class AdminFabricIndex(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003C - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class AdminVendorId(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003C - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003C - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003C - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003C - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003C - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003C - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class OperationalCredentials(Cluster): - id: typing.ClassVar[int] = 0x003E - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="NOCs", Tag=0x00000000, Type=typing.List[OperationalCredentials.Structs.NOCStruct]), - ClusterObjectFieldDescriptor(Label="fabrics", Tag=0x00000001, Type=typing.List[OperationalCredentials.Structs.FabricDescriptor]), - ClusterObjectFieldDescriptor(Label="supportedFabrics", Tag=0x00000002, Type=uint), - ClusterObjectFieldDescriptor(Label="commissionedFabrics", Tag=0x00000003, Type=uint), - ClusterObjectFieldDescriptor(Label="trustedRootCertificates", Tag=0x00000004, Type=typing.List[bytes]), - ClusterObjectFieldDescriptor(Label="currentFabricIndex", Tag=0x00000005, Type=uint), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - NOCs: 'typing.List[OperationalCredentials.Structs.NOCStruct]' = None - fabrics: 'typing.List[OperationalCredentials.Structs.FabricDescriptor]' = None - supportedFabrics: 'uint' = None - commissionedFabrics: 'uint' = None - trustedRootCertificates: 'typing.List[bytes]' = None - currentFabricIndex: 'uint' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - class Enums: - class OperationalCertStatus(IntEnum): - kSuccess = 0x00 - kInvalidPublicKey = 0x01 - kInvalidNodeOpId = 0x02 - kInvalidNOC = 0x03 - kMissingCsr = 0x04 - kTableFull = 0x05 - kInvalidAdminSubject = 0x06 - kInsufficientPrivilege = 0x08 - kFabricConflict = 0x09 - kLabelConflict = 0x0A - kInvalidFabricIndex = 0x0B - - - class Structs: - @dataclass - class FabricDescriptor(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="rootPublicKey", Tag=1, Type=bytes), - ClusterObjectFieldDescriptor(Label="vendorId", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="fabricId", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="nodeId", Tag=4, Type=uint), - ClusterObjectFieldDescriptor(Label="label", Tag=5, Type=str), - ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint), - ]) - - rootPublicKey: 'bytes' = b"" - vendorId: 'uint' = 0 - fabricId: 'uint' = 0 - nodeId: 'uint' = 0 - label: 'str' = "" - fabricIndex: 'uint' = 0 - - @dataclass - class NOCStruct(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="noc", Tag=1, Type=bytes), - ClusterObjectFieldDescriptor(Label="icac", Tag=2, Type=typing.Union[Nullable, bytes]), - ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint), - ]) - - noc: 'bytes' = b"" - icac: 'typing.Union[Nullable, bytes]' = NullValue - fabricIndex: 'uint' = 0 - - - - class Commands: - @dataclass - class AttestationRequest(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003E - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="attestationNonce", Tag=0, Type=bytes), - ]) - - attestationNonce: 'bytes' = b"" - - @dataclass - class AttestationResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003E - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="attestationElements", Tag=0, Type=bytes), - ClusterObjectFieldDescriptor(Label="signature", Tag=1, Type=bytes), - ]) - - attestationElements: 'bytes' = b"" - signature: 'bytes' = b"" - - @dataclass - class CertificateChainRequest(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003E - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="certificateType", Tag=0, Type=uint), - ]) - - certificateType: 'uint' = 0 - - @dataclass - class CertificateChainResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003E - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="certificate", Tag=0, Type=bytes), - ]) - - certificate: 'bytes' = b"" - - @dataclass - class CSRRequest(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003E - command_id: typing.ClassVar[int] = 0x0004 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="CSRNonce", Tag=0, Type=bytes), - ClusterObjectFieldDescriptor(Label="isForUpdateNOC", Tag=1, Type=typing.Optional[bool]), - ]) - - CSRNonce: 'bytes' = b"" - isForUpdateNOC: 'typing.Optional[bool]' = None - - @dataclass - class CSRResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003E - command_id: typing.ClassVar[int] = 0x0005 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="NOCSRElements", Tag=0, Type=bytes), - ClusterObjectFieldDescriptor(Label="attestationSignature", Tag=1, Type=bytes), - ]) - - NOCSRElements: 'bytes' = b"" - attestationSignature: 'bytes' = b"" - - @dataclass - class AddNOC(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003E - command_id: typing.ClassVar[int] = 0x0006 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="NOCValue", Tag=0, Type=bytes), - ClusterObjectFieldDescriptor(Label="ICACValue", Tag=1, Type=typing.Optional[bytes]), - ClusterObjectFieldDescriptor(Label="IPKValue", Tag=2, Type=bytes), - ClusterObjectFieldDescriptor(Label="caseAdminSubject", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="adminVendorId", Tag=4, Type=uint), - ]) - - NOCValue: 'bytes' = b"" - ICACValue: 'typing.Optional[bytes]' = None - IPKValue: 'bytes' = b"" - caseAdminSubject: 'uint' = 0 - adminVendorId: 'uint' = 0 - - @dataclass - class UpdateNOC(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003E - command_id: typing.ClassVar[int] = 0x0007 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="NOCValue", Tag=0, Type=bytes), - ClusterObjectFieldDescriptor(Label="ICACValue", Tag=1, Type=typing.Optional[bytes]), - ]) - - NOCValue: 'bytes' = b"" - ICACValue: 'typing.Optional[bytes]' = None - - @dataclass - class NOCResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003E - command_id: typing.ClassVar[int] = 0x0008 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="statusCode", Tag=0, Type=OperationalCredentials.Enums.OperationalCertStatus), - ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=1, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="debugText", Tag=2, Type=typing.Optional[str]), - ]) - - statusCode: 'OperationalCredentials.Enums.OperationalCertStatus' = 0 - fabricIndex: 'typing.Optional[uint]' = None - debugText: 'typing.Optional[str]' = None - - @dataclass - class UpdateFabricLabel(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003E - command_id: typing.ClassVar[int] = 0x0009 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="label", Tag=0, Type=str), - ]) - - label: 'str' = "" - - @dataclass - class RemoveFabric(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003E - command_id: typing.ClassVar[int] = 0x000A - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=0, Type=uint), - ]) - - fabricIndex: 'uint' = 0 - - @dataclass - class AddTrustedRootCertificate(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003E - command_id: typing.ClassVar[int] = 0x000B - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="rootCertificate", Tag=0, Type=bytes), - ]) - - rootCertificate: 'bytes' = b"" - - - class Attributes: - @dataclass - class NOCs(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[OperationalCredentials.Structs.NOCStruct]) - - value: 'typing.List[OperationalCredentials.Structs.NOCStruct]' = field(default_factory=lambda: []) - - @dataclass - class Fabrics(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[OperationalCredentials.Structs.FabricDescriptor]) - - value: 'typing.List[OperationalCredentials.Structs.FabricDescriptor]' = field(default_factory=lambda: []) - - @dataclass - class SupportedFabrics(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class CommissionedFabrics(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class TrustedRootCertificates(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000004 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[bytes]) - - value: 'typing.List[bytes]' = field(default_factory=lambda: []) - - @dataclass - class CurrentFabricIndex(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000005 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class GroupKeyManagement(Cluster): - id: typing.ClassVar[int] = 0x003F - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupKeyMap", Tag=0x00000000, Type=typing.List[GroupKeyManagement.Structs.GroupKeyMapStruct]), - ClusterObjectFieldDescriptor(Label="groupTable", Tag=0x00000001, Type=typing.List[GroupKeyManagement.Structs.GroupInfoMapStruct]), - ClusterObjectFieldDescriptor(Label="maxGroupsPerFabric", Tag=0x00000002, Type=uint), - ClusterObjectFieldDescriptor(Label="maxGroupKeysPerFabric", Tag=0x00000003, Type=uint), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - groupKeyMap: 'typing.List[GroupKeyManagement.Structs.GroupKeyMapStruct]' = None - groupTable: 'typing.List[GroupKeyManagement.Structs.GroupInfoMapStruct]' = None - maxGroupsPerFabric: 'uint' = None - maxGroupKeysPerFabric: 'uint' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - class Enums: - class GroupKeySecurityPolicy(IntEnum): - kTrustFirst = 0x00 - kCacheAndSync = 0x01 - - - class Structs: - @dataclass - class GroupInfoMapStruct(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="endpoints", Tag=2, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="groupName", Tag=3, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint), - ]) - - groupId: 'uint' = 0 - endpoints: 'typing.List[uint]' = field(default_factory=lambda: []) - groupName: 'typing.Optional[str]' = None - fabricIndex: 'uint' = 0 - - @dataclass - class GroupKeyMapStruct(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="groupKeySetID", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint), - ]) - - groupId: 'uint' = 0 - groupKeySetID: 'uint' = 0 - fabricIndex: 'uint' = 0 - - @dataclass - class GroupKeySetStruct(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupKeySetID", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="groupKeySecurityPolicy", Tag=1, Type=GroupKeyManagement.Enums.GroupKeySecurityPolicy), - ClusterObjectFieldDescriptor(Label="epochKey0", Tag=2, Type=typing.Union[Nullable, bytes]), - ClusterObjectFieldDescriptor(Label="epochStartTime0", Tag=3, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="epochKey1", Tag=4, Type=typing.Union[Nullable, bytes]), - ClusterObjectFieldDescriptor(Label="epochStartTime1", Tag=5, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="epochKey2", Tag=6, Type=typing.Union[Nullable, bytes]), - ClusterObjectFieldDescriptor(Label="epochStartTime2", Tag=7, Type=typing.Union[Nullable, uint]), - ]) - - groupKeySetID: 'uint' = 0 - groupKeySecurityPolicy: 'GroupKeyManagement.Enums.GroupKeySecurityPolicy' = 0 - epochKey0: 'typing.Union[Nullable, bytes]' = NullValue - epochStartTime0: 'typing.Union[Nullable, uint]' = NullValue - epochKey1: 'typing.Union[Nullable, bytes]' = NullValue - epochStartTime1: 'typing.Union[Nullable, uint]' = NullValue - epochKey2: 'typing.Union[Nullable, bytes]' = NullValue - epochStartTime2: 'typing.Union[Nullable, uint]' = NullValue - - - - class Commands: - @dataclass - class KeySetWrite(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003F - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupKeySet", Tag=0, Type=GroupKeyManagement.Structs.GroupKeySetStruct), - ]) - - groupKeySet: 'GroupKeyManagement.Structs.GroupKeySetStruct' = field(default_factory=lambda: GroupKeyManagement.Structs.GroupKeySetStruct()) - - @dataclass - class KeySetRead(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003F - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupKeySetID", Tag=0, Type=uint), - ]) - - groupKeySetID: 'uint' = 0 - - @dataclass - class KeySetReadResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003F - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupKeySet", Tag=0, Type=GroupKeyManagement.Structs.GroupKeySetStruct), - ]) - - groupKeySet: 'GroupKeyManagement.Structs.GroupKeySetStruct' = field(default_factory=lambda: GroupKeyManagement.Structs.GroupKeySetStruct()) - - @dataclass - class KeySetRemove(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003F - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupKeySetID", Tag=0, Type=uint), - ]) - - groupKeySetID: 'uint' = 0 - - @dataclass - class KeySetReadAllIndices(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003F - command_id: typing.ClassVar[int] = 0x0004 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupKeySetIDs", Tag=0, Type=typing.List[uint]), - ]) - - groupKeySetIDs: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class KeySetReadAllIndicesResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x003F - command_id: typing.ClassVar[int] = 0x0005 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="groupKeySetIDs", Tag=0, Type=typing.List[uint]), - ]) - - groupKeySetIDs: 'typing.List[uint]' = field(default_factory=lambda: []) - - - class Attributes: - @dataclass - class GroupKeyMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003F - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[GroupKeyManagement.Structs.GroupKeyMapStruct]) - - value: 'typing.List[GroupKeyManagement.Structs.GroupKeyMapStruct]' = field(default_factory=lambda: []) - - @dataclass - class GroupTable(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003F - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[GroupKeyManagement.Structs.GroupInfoMapStruct]) - - value: 'typing.List[GroupKeyManagement.Structs.GroupInfoMapStruct]' = field(default_factory=lambda: []) - - @dataclass - class MaxGroupsPerFabric(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003F - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class MaxGroupKeysPerFabric(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003F - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003F - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003F - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003F - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003F - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x003F - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class FixedLabel(Cluster): - id: typing.ClassVar[int] = 0x0040 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="labelList", Tag=0x00000000, Type=typing.List[FixedLabel.Structs.LabelStruct]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - labelList: 'typing.List[FixedLabel.Structs.LabelStruct]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - class Structs: - @dataclass - class LabelStruct(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="label", Tag=0, Type=str), - ClusterObjectFieldDescriptor(Label="value", Tag=1, Type=str), - ]) - - label: 'str' = "" - value: 'str' = "" - - - - - class Attributes: - @dataclass - class LabelList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0040 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[FixedLabel.Structs.LabelStruct]) - - value: 'typing.List[FixedLabel.Structs.LabelStruct]' = field(default_factory=lambda: []) - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0040 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0040 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0040 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0040 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0040 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class UserLabel(Cluster): - id: typing.ClassVar[int] = 0x0041 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="labelList", Tag=0x00000000, Type=typing.List[UserLabel.Structs.LabelStruct]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - labelList: 'typing.List[UserLabel.Structs.LabelStruct]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - class Structs: - @dataclass - class LabelStruct(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="label", Tag=0, Type=str), - ClusterObjectFieldDescriptor(Label="value", Tag=1, Type=str), - ]) - - label: 'str' = "" - value: 'str' = "" - - - - - class Attributes: - @dataclass - class LabelList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0041 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[UserLabel.Structs.LabelStruct]) - - value: 'typing.List[UserLabel.Structs.LabelStruct]' = field(default_factory=lambda: []) - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0041 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0041 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0041 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0041 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0041 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class ProxyConfiguration(Cluster): - id: typing.ClassVar[int] = 0x0042 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - - - class Attributes: - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0042 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0042 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0042 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0042 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0042 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class ProxyDiscovery(Cluster): - id: typing.ClassVar[int] = 0x0043 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - - - class Attributes: - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0043 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0043 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0043 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0043 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0043 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class ProxyValid(Cluster): - id: typing.ClassVar[int] = 0x0044 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - - - class Attributes: - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0044 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0044 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0044 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0044 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0044 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class BooleanState(Cluster): - id: typing.ClassVar[int] = 0x0045 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="stateValue", Tag=0x00000000, Type=bool), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - stateValue: 'bool' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - - - class Attributes: - @dataclass - class StateValue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0045 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) - - value: 'bool' = False - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0045 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0045 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0045 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0045 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0045 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - class Events: - @dataclass - class StateChange(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0045 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="stateValue", Tag=0, Type=bool), - ]) - - stateValue: 'bool' = False - - -@dataclass -class ModeSelect(Cluster): - id: typing.ClassVar[int] = 0x0050 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="description", Tag=0x00000000, Type=str), - ClusterObjectFieldDescriptor(Label="standardNamespace", Tag=0x00000001, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="supportedModes", Tag=0x00000002, Type=typing.List[ModeSelect.Structs.ModeOptionStruct]), - ClusterObjectFieldDescriptor(Label="currentMode", Tag=0x00000003, Type=uint), - ClusterObjectFieldDescriptor(Label="startUpMode", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="onMode", Tag=0x00000005, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - description: 'str' = None - standardNamespace: 'typing.Union[Nullable, uint]' = None - supportedModes: 'typing.List[ModeSelect.Structs.ModeOptionStruct]' = None - currentMode: 'uint' = None - startUpMode: 'typing.Union[None, Nullable, uint]' = None - onMode: 'typing.Union[None, Nullable, uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - class Structs: - @dataclass - class SemanticTag(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="mfgCode", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="value", Tag=1, Type=uint), - ]) - - mfgCode: 'uint' = 0 - value: 'uint' = 0 - - @dataclass - class ModeOptionStruct(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="label", Tag=0, Type=str), - ClusterObjectFieldDescriptor(Label="mode", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="semanticTags", Tag=2, Type=typing.List[ModeSelect.Structs.SemanticTag]), - ]) - - label: 'str' = "" - mode: 'uint' = 0 - semanticTags: 'typing.List[ModeSelect.Structs.SemanticTag]' = field(default_factory=lambda: []) - - - - class Commands: - @dataclass - class ChangeToMode(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0050 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="newMode", Tag=0, Type=uint), - ]) - - newMode: 'uint' = 0 - - - class Attributes: - @dataclass - class Description(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0050 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) - - value: 'str' = "" - - @dataclass - class StandardNamespace(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0050 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - - value: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class SupportedModes(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0050 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[ModeSelect.Structs.ModeOptionStruct]) - - value: 'typing.List[ModeSelect.Structs.ModeOptionStruct]' = field(default_factory=lambda: []) - - @dataclass - class CurrentMode(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0050 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class StartUpMode(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0050 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000004 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class OnMode(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0050 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000005 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0050 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0050 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0050 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0050 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0050 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class ShadeConfiguration(Cluster): - id: typing.ClassVar[int] = 0x0100 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="physicalClosedLimit", Tag=0x00000000, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="motorStepSize", Tag=0x00000001, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="status", Tag=0x00000002, Type=uint), - ClusterObjectFieldDescriptor(Label="closedLimit", Tag=0x00000010, Type=uint), - ClusterObjectFieldDescriptor(Label="mode", Tag=0x00000011, Type=uint), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - physicalClosedLimit: 'typing.Optional[uint]' = None - motorStepSize: 'typing.Optional[uint]' = None - status: 'uint' = None - closedLimit: 'uint' = None - mode: 'uint' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - - - class Attributes: - @dataclass - class PhysicalClosedLimit(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0100 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class MotorStepSize(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0100 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class Status(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0100 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClosedLimit(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0100 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000010 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class Mode(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0100 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000011 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0100 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0100 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0100 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0100 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0100 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class DoorLock(Cluster): - id: typing.ClassVar[int] = 0x0101 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="lockState", Tag=0x00000000, Type=typing.Union[Nullable, DoorLock.Enums.DlLockState]), - ClusterObjectFieldDescriptor(Label="lockType", Tag=0x00000001, Type=DoorLock.Enums.DlLockType), - ClusterObjectFieldDescriptor(Label="actuatorEnabled", Tag=0x00000002, Type=bool), - ClusterObjectFieldDescriptor(Label="doorState", Tag=0x00000003, Type=typing.Union[None, Nullable, DoorLock.Enums.DlDoorState]), - ClusterObjectFieldDescriptor(Label="doorOpenEvents", Tag=0x00000004, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="doorClosedEvents", Tag=0x00000005, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="openPeriod", Tag=0x00000006, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="numberOfTotalUsersSupported", Tag=0x00000011, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="numberOfPINUsersSupported", Tag=0x00000012, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="numberOfRFIDUsersSupported", Tag=0x00000013, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="numberOfWeekDaySchedulesSupportedPerUser", Tag=0x00000014, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="numberOfYearDaySchedulesSupportedPerUser", Tag=0x00000015, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="numberOfHolidaySchedulesSupported", Tag=0x00000016, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="maxPINCodeLength", Tag=0x00000017, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="minPINCodeLength", Tag=0x00000018, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="maxRFIDCodeLength", Tag=0x00000019, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="minRFIDCodeLength", Tag=0x0000001A, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="credentialRulesSupport", Tag=0x0000001B, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="numberOfCredentialsSupportedPerUser", Tag=0x0000001C, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="language", Tag=0x00000021, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="LEDSettings", Tag=0x00000022, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="autoRelockTime", Tag=0x00000023, Type=uint), - ClusterObjectFieldDescriptor(Label="soundVolume", Tag=0x00000024, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="operatingMode", Tag=0x00000025, Type=DoorLock.Enums.DlOperatingMode), - ClusterObjectFieldDescriptor(Label="supportedOperatingModes", Tag=0x00000026, Type=uint), - ClusterObjectFieldDescriptor(Label="defaultConfigurationRegister", Tag=0x00000027, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="enableLocalProgramming", Tag=0x00000028, Type=typing.Optional[bool]), - ClusterObjectFieldDescriptor(Label="enableOneTouchLocking", Tag=0x00000029, Type=typing.Optional[bool]), - ClusterObjectFieldDescriptor(Label="enableInsideStatusLED", Tag=0x0000002A, Type=typing.Optional[bool]), - ClusterObjectFieldDescriptor(Label="enablePrivacyModeButton", Tag=0x0000002B, Type=typing.Optional[bool]), - ClusterObjectFieldDescriptor(Label="localProgrammingFeatures", Tag=0x0000002C, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="wrongCodeEntryLimit", Tag=0x00000030, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="userCodeTemporaryDisableTime", Tag=0x00000031, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="sendPINOverTheAir", Tag=0x00000032, Type=typing.Optional[bool]), - ClusterObjectFieldDescriptor(Label="requirePINforRemoteOperation", Tag=0x00000033, Type=typing.Optional[bool]), - ClusterObjectFieldDescriptor(Label="expiringUserTimeout", Tag=0x00000035, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - lockState: 'typing.Union[Nullable, DoorLock.Enums.DlLockState]' = None - lockType: 'DoorLock.Enums.DlLockType' = None - actuatorEnabled: 'bool' = None - doorState: 'typing.Union[None, Nullable, DoorLock.Enums.DlDoorState]' = None - doorOpenEvents: 'typing.Optional[uint]' = None - doorClosedEvents: 'typing.Optional[uint]' = None - openPeriod: 'typing.Optional[uint]' = None - numberOfTotalUsersSupported: 'typing.Optional[uint]' = None - numberOfPINUsersSupported: 'typing.Optional[uint]' = None - numberOfRFIDUsersSupported: 'typing.Optional[uint]' = None - numberOfWeekDaySchedulesSupportedPerUser: 'typing.Optional[uint]' = None - numberOfYearDaySchedulesSupportedPerUser: 'typing.Optional[uint]' = None - numberOfHolidaySchedulesSupported: 'typing.Optional[uint]' = None - maxPINCodeLength: 'typing.Optional[uint]' = None - minPINCodeLength: 'typing.Optional[uint]' = None - maxRFIDCodeLength: 'typing.Optional[uint]' = None - minRFIDCodeLength: 'typing.Optional[uint]' = None - credentialRulesSupport: 'typing.Optional[uint]' = None - numberOfCredentialsSupportedPerUser: 'typing.Optional[uint]' = None - language: 'typing.Optional[str]' = None - LEDSettings: 'typing.Optional[uint]' = None - autoRelockTime: 'uint' = None - soundVolume: 'typing.Optional[uint]' = None - operatingMode: 'DoorLock.Enums.DlOperatingMode' = None - supportedOperatingModes: 'uint' = None - defaultConfigurationRegister: 'typing.Optional[uint]' = None - enableLocalProgramming: 'typing.Optional[bool]' = None - enableOneTouchLocking: 'typing.Optional[bool]' = None - enableInsideStatusLED: 'typing.Optional[bool]' = None - enablePrivacyModeButton: 'typing.Optional[bool]' = None - localProgrammingFeatures: 'typing.Optional[uint]' = None - wrongCodeEntryLimit: 'typing.Optional[uint]' = None - userCodeTemporaryDisableTime: 'typing.Optional[uint]' = None - sendPINOverTheAir: 'typing.Optional[bool]' = None - requirePINforRemoteOperation: 'typing.Optional[bool]' = None - expiringUserTimeout: 'typing.Optional[uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - class Enums: - class DlAlarmCode(IntEnum): - kLockJammed = 0x00 - kLockFactoryReset = 0x01 - kLockRadioPowerCycled = 0x03 - kWrongCodeEntryLimit = 0x04 - kFrontEsceutcheonRemoved = 0x05 - kDoorForcedOpen = 0x06 - kDoorAjar = 0x07 - kForcedUser = 0x08 - - class DlCredentialRule(IntEnum): - kSingle = 0x00 - kDouble = 0x01 - kTri = 0x02 - - class DlCredentialType(IntEnum): - kProgrammingPIN = 0x00 - kPin = 0x01 - kRfid = 0x02 - kFingerprint = 0x03 - kFingerVein = 0x04 - kFace = 0x05 - - class DlDataOperationType(IntEnum): - kAdd = 0x00 - kClear = 0x01 - kModify = 0x02 - - class DlDoorState(IntEnum): - kDoorOpen = 0x00 - kDoorClosed = 0x01 - kDoorJammed = 0x02 - kDoorForcedOpen = 0x03 - kDoorUnspecifiedError = 0x04 - kDoorAjar = 0x05 - - class DlLockDataType(IntEnum): - kUnspecified = 0x00 - kProgrammingCode = 0x01 - kUserIndex = 0x02 - kWeekDaySchedule = 0x03 - kYearDaySchedule = 0x04 - kHolidaySchedule = 0x05 - kPin = 0x06 - kRfid = 0x07 - kFingerprint = 0x08 - - class DlLockOperationType(IntEnum): - kLock = 0x00 - kUnlock = 0x01 - kNonAccessUserEvent = 0x02 - kForcedUserEvent = 0x03 - - class DlLockState(IntEnum): - kNotFullyLocked = 0x00 - kLocked = 0x01 - kUnlocked = 0x02 - - class DlLockType(IntEnum): - kDeadBolt = 0x00 - kMagnetic = 0x01 - kOther = 0x02 - kMortise = 0x03 - kRim = 0x04 - kLatchBolt = 0x05 - kCylindricalLock = 0x06 - kTubularLock = 0x07 - kInterconnectedLock = 0x08 - kDeadLatch = 0x09 - kDoorFurniture = 0x0A - - class DlOperatingMode(IntEnum): - kNormal = 0x00 - kVacation = 0x01 - kPrivacy = 0x02 - kNoRemoteLockUnlock = 0x03 - kPassage = 0x04 - - class DlOperationError(IntEnum): - kUnspecified = 0x00 - kInvalidCredential = 0x01 - kDisabledUserDenied = 0x02 - kRestricted = 0x03 - kInsufficientBattery = 0x04 - - class DlOperationSource(IntEnum): - kUnspecified = 0x00 - kManual = 0x01 - kProprietaryRemote = 0x02 - kKeypad = 0x03 - kAuto = 0x04 - kButton = 0x05 - kSchedule = 0x06 - kRemote = 0x07 - kRfid = 0x08 - kBiometric = 0x09 - - class DlStatus(IntEnum): - kSuccess = 0x00 - kFailure = 0x01 - kDuplicate = 0x02 - kOccupied = 0x03 - kInvalidField = 0x85 - kResourceExhausted = 0x89 - kNotFound = 0x8B - - class DlUserStatus(IntEnum): - kAvailable = 0x00 - kOccupiedEnabled = 0x01 - kOccupiedDisabled = 0x03 - - class DlUserType(IntEnum): - kUnrestrictedUser = 0x00 - kYearDayScheduleUser = 0x01 - kWeekDayScheduleUser = 0x02 - kProgrammingUser = 0x03 - kNonAccessUser = 0x04 - kForcedUser = 0x05 - kDisposableUser = 0x06 - kExpiringUser = 0x07 - kScheduleRestrictedUser = 0x08 - kRemoteOnlyUser = 0x09 - - class DoorLockOperationEventCode(IntEnum): - kUnknownOrMfgSpecific = 0x00 - kLock = 0x01 - kUnlock = 0x02 - kLockInvalidPinOrId = 0x03 - kLockInvalidSchedule = 0x04 - kUnlockInvalidPinOrId = 0x05 - kUnlockInvalidSchedule = 0x06 - kOneTouchLock = 0x07 - kKeyLock = 0x08 - kKeyUnlock = 0x09 - kAutoLock = 0x0A - kScheduleLock = 0x0B - kScheduleUnlock = 0x0C - kManualLock = 0x0D - kManualUnlock = 0x0E - - class DoorLockProgrammingEventCode(IntEnum): - kUnknownOrMfgSpecific = 0x00 - kMasterCodeChanged = 0x01 - kPinAdded = 0x02 - kPinDeleted = 0x03 - kPinChanged = 0x04 - kIdAdded = 0x05 - kIdDeleted = 0x06 - - class DoorLockSetPinOrIdStatus(IntEnum): - kSuccess = 0x00 - kGeneralFailure = 0x01 - kMemoryFull = 0x02 - kDuplicateCodeError = 0x03 - - class DoorLockUserStatus(IntEnum): - kAvailable = 0x00 - kOccupiedEnabled = 0x01 - kOccupiedDisabled = 0x03 - kNotSupported = 0xFF - - class DoorLockUserType(IntEnum): - kUnrestricted = 0x00 - kYearDayScheduleUser = 0x01 - kWeekDayScheduleUser = 0x02 - kMasterUser = 0x03 - kNonAccessUser = 0x04 - kNotSupported = 0xFF - - - class Structs: - @dataclass - class DlCredential(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="credentialType", Tag=0, Type=DoorLock.Enums.DlCredentialType), - ClusterObjectFieldDescriptor(Label="credentialIndex", Tag=1, Type=uint), - ]) - - credentialType: 'DoorLock.Enums.DlCredentialType' = 0 - credentialIndex: 'uint' = 0 - - - - class Commands: - @dataclass - class LockDoor(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="pinCode", Tag=0, Type=typing.Optional[bytes]), - ]) - - @ChipUtility.classproperty - def must_use_timed_invoke(cls) -> bool: - return True - - pinCode: 'typing.Optional[bytes]' = None - - @dataclass - class UnlockDoor(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="pinCode", Tag=0, Type=typing.Optional[bytes]), - ]) - - @ChipUtility.classproperty - def must_use_timed_invoke(cls) -> bool: - return True - - pinCode: 'typing.Optional[bytes]' = None - - @dataclass - class UnlockWithTimeout(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="timeout", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="pinCode", Tag=1, Type=typing.Optional[bytes]), - ]) - - @ChipUtility.classproperty - def must_use_timed_invoke(cls) -> bool: - return True - - timeout: 'uint' = 0 - pinCode: 'typing.Optional[bytes]' = None - - @dataclass - class SetWeekDaySchedule(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x000B - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="weekDayIndex", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="daysMask", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="startHour", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="startMinute", Tag=4, Type=uint), - ClusterObjectFieldDescriptor(Label="endHour", Tag=5, Type=uint), - ClusterObjectFieldDescriptor(Label="endMinute", Tag=6, Type=uint), - ]) - - weekDayIndex: 'uint' = 0 - userIndex: 'uint' = 0 - daysMask: 'uint' = 0 - startHour: 'uint' = 0 - startMinute: 'uint' = 0 - endHour: 'uint' = 0 - endMinute: 'uint' = 0 - - @dataclass - class GetWeekDaySchedule(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x000C - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="weekDayIndex", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), - ]) - - weekDayIndex: 'uint' = 0 - userIndex: 'uint' = 0 - - @dataclass - class GetWeekDayScheduleResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x000C - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="weekDayIndex", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="status", Tag=2, Type=DoorLock.Enums.DlStatus), - ClusterObjectFieldDescriptor(Label="daysMask", Tag=3, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="startHour", Tag=4, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="startMinute", Tag=5, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="endHour", Tag=6, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="endMinute", Tag=7, Type=typing.Optional[uint]), - ]) - - weekDayIndex: 'uint' = 0 - userIndex: 'uint' = 0 - status: 'DoorLock.Enums.DlStatus' = 0 - daysMask: 'typing.Optional[uint]' = None - startHour: 'typing.Optional[uint]' = None - startMinute: 'typing.Optional[uint]' = None - endHour: 'typing.Optional[uint]' = None - endMinute: 'typing.Optional[uint]' = None - - @dataclass - class ClearWeekDaySchedule(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x000D - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="weekDayIndex", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), - ]) - - weekDayIndex: 'uint' = 0 - userIndex: 'uint' = 0 - - @dataclass - class SetYearDaySchedule(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x000E - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="yearDayIndex", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="localStartTime", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="localEndTime", Tag=3, Type=uint), - ]) - - yearDayIndex: 'uint' = 0 - userIndex: 'uint' = 0 - localStartTime: 'uint' = 0 - localEndTime: 'uint' = 0 - - @dataclass - class GetYearDaySchedule(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x000F - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="yearDayIndex", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), - ]) - - yearDayIndex: 'uint' = 0 - userIndex: 'uint' = 0 - - @dataclass - class GetYearDayScheduleResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x000F - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="yearDayIndex", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="status", Tag=2, Type=DoorLock.Enums.DlStatus), - ClusterObjectFieldDescriptor(Label="localStartTime", Tag=3, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="localEndTime", Tag=4, Type=typing.Optional[uint]), - ]) - - yearDayIndex: 'uint' = 0 - userIndex: 'uint' = 0 - status: 'DoorLock.Enums.DlStatus' = 0 - localStartTime: 'typing.Optional[uint]' = None - localEndTime: 'typing.Optional[uint]' = None - - @dataclass - class ClearYearDaySchedule(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x0010 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="yearDayIndex", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), - ]) - - yearDayIndex: 'uint' = 0 - userIndex: 'uint' = 0 - - @dataclass - class SetHolidaySchedule(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x0011 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="holidayIndex", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="localStartTime", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="localEndTime", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="operatingMode", Tag=3, Type=DoorLock.Enums.DlOperatingMode), - ]) - - holidayIndex: 'uint' = 0 - localStartTime: 'uint' = 0 - localEndTime: 'uint' = 0 - operatingMode: 'DoorLock.Enums.DlOperatingMode' = 0 - - @dataclass - class GetHolidaySchedule(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x0012 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="holidayIndex", Tag=0, Type=uint), - ]) - - holidayIndex: 'uint' = 0 - - @dataclass - class GetHolidayScheduleResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x0012 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="holidayIndex", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="status", Tag=1, Type=DoorLock.Enums.DlStatus), - ClusterObjectFieldDescriptor(Label="localStartTime", Tag=2, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="localEndTime", Tag=3, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="operatingMode", Tag=4, Type=typing.Optional[DoorLock.Enums.DlOperatingMode]), - ]) - - holidayIndex: 'uint' = 0 - status: 'DoorLock.Enums.DlStatus' = 0 - localStartTime: 'typing.Optional[uint]' = None - localEndTime: 'typing.Optional[uint]' = None - operatingMode: 'typing.Optional[DoorLock.Enums.DlOperatingMode]' = None - - @dataclass - class ClearHolidaySchedule(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x0013 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="holidayIndex", Tag=0, Type=uint), - ]) - - holidayIndex: 'uint' = 0 - - @dataclass - class SetUser(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x001A - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="operationType", Tag=0, Type=DoorLock.Enums.DlDataOperationType), - ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="userName", Tag=2, Type=typing.Union[Nullable, str]), - ClusterObjectFieldDescriptor(Label="userUniqueId", Tag=3, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="userStatus", Tag=4, Type=typing.Union[Nullable, DoorLock.Enums.DlUserStatus]), - ClusterObjectFieldDescriptor(Label="userType", Tag=5, Type=typing.Union[Nullable, DoorLock.Enums.DlUserType]), - ClusterObjectFieldDescriptor(Label="credentialRule", Tag=6, Type=typing.Union[Nullable, DoorLock.Enums.DlCredentialRule]), - ]) - - @ChipUtility.classproperty - def must_use_timed_invoke(cls) -> bool: - return True - - operationType: 'DoorLock.Enums.DlDataOperationType' = 0 - userIndex: 'uint' = 0 - userName: 'typing.Union[Nullable, str]' = NullValue - userUniqueId: 'typing.Union[Nullable, uint]' = NullValue - userStatus: 'typing.Union[Nullable, DoorLock.Enums.DlUserStatus]' = NullValue - userType: 'typing.Union[Nullable, DoorLock.Enums.DlUserType]' = NullValue - credentialRule: 'typing.Union[Nullable, DoorLock.Enums.DlCredentialRule]' = NullValue - - @dataclass - class GetUser(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x001B - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="userIndex", Tag=0, Type=uint), - ]) - - userIndex: 'uint' = 0 - - @dataclass - class GetUserResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x001C - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="userIndex", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="userName", Tag=1, Type=typing.Union[Nullable, str]), - ClusterObjectFieldDescriptor(Label="userUniqueId", Tag=2, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="userStatus", Tag=3, Type=typing.Union[Nullable, DoorLock.Enums.DlUserStatus]), - ClusterObjectFieldDescriptor(Label="userType", Tag=4, Type=typing.Union[Nullable, DoorLock.Enums.DlUserType]), - ClusterObjectFieldDescriptor(Label="credentialRule", Tag=5, Type=typing.Union[Nullable, DoorLock.Enums.DlCredentialRule]), - ClusterObjectFieldDescriptor(Label="credentials", Tag=6, Type=typing.Union[Nullable, typing.List[DoorLock.Structs.DlCredential]]), - ClusterObjectFieldDescriptor(Label="creatorFabricIndex", Tag=7, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="lastModifiedFabricIndex", Tag=8, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="nextUserIndex", Tag=9, Type=typing.Union[Nullable, uint]), - ]) - - userIndex: 'uint' = 0 - userName: 'typing.Union[Nullable, str]' = NullValue - userUniqueId: 'typing.Union[Nullable, uint]' = NullValue - userStatus: 'typing.Union[Nullable, DoorLock.Enums.DlUserStatus]' = NullValue - userType: 'typing.Union[Nullable, DoorLock.Enums.DlUserType]' = NullValue - credentialRule: 'typing.Union[Nullable, DoorLock.Enums.DlCredentialRule]' = NullValue - credentials: 'typing.Union[Nullable, typing.List[DoorLock.Structs.DlCredential]]' = NullValue - creatorFabricIndex: 'typing.Union[Nullable, uint]' = NullValue - lastModifiedFabricIndex: 'typing.Union[Nullable, uint]' = NullValue - nextUserIndex: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class ClearUser(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x001D - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="userIndex", Tag=0, Type=uint), - ]) - - @ChipUtility.classproperty - def must_use_timed_invoke(cls) -> bool: - return True - - userIndex: 'uint' = 0 - - @dataclass - class SetCredential(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x0022 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="operationType", Tag=0, Type=DoorLock.Enums.DlDataOperationType), - ClusterObjectFieldDescriptor(Label="credential", Tag=1, Type=DoorLock.Structs.DlCredential), - ClusterObjectFieldDescriptor(Label="credentialData", Tag=2, Type=bytes), - ClusterObjectFieldDescriptor(Label="userIndex", Tag=3, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="userStatus", Tag=4, Type=typing.Union[Nullable, DoorLock.Enums.DlUserStatus]), - ClusterObjectFieldDescriptor(Label="userType", Tag=5, Type=typing.Union[Nullable, DoorLock.Enums.DlUserType]), - ]) - - @ChipUtility.classproperty - def must_use_timed_invoke(cls) -> bool: - return True - - operationType: 'DoorLock.Enums.DlDataOperationType' = 0 - credential: 'DoorLock.Structs.DlCredential' = field(default_factory=lambda: DoorLock.Structs.DlCredential()) - credentialData: 'bytes' = b"" - userIndex: 'typing.Union[Nullable, uint]' = NullValue - userStatus: 'typing.Union[Nullable, DoorLock.Enums.DlUserStatus]' = NullValue - userType: 'typing.Union[Nullable, DoorLock.Enums.DlUserType]' = NullValue - - @dataclass - class SetCredentialResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x0023 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=DoorLock.Enums.DlStatus), - ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="nextCredentialIndex", Tag=2, Type=typing.Union[Nullable, uint]), - ]) - - status: 'DoorLock.Enums.DlStatus' = 0 - userIndex: 'typing.Union[Nullable, uint]' = NullValue - nextCredentialIndex: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class GetCredentialStatus(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x0024 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="credential", Tag=0, Type=DoorLock.Structs.DlCredential), - ]) - - credential: 'DoorLock.Structs.DlCredential' = field(default_factory=lambda: DoorLock.Structs.DlCredential()) - - @dataclass - class GetCredentialStatusResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x0025 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="credentialExists", Tag=0, Type=bool), - ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="creatorFabricIndex", Tag=2, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="lastModifiedFabricIndex", Tag=3, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="nextCredentialIndex", Tag=4, Type=typing.Union[Nullable, uint]), - ]) - - credentialExists: 'bool' = False - userIndex: 'typing.Union[Nullable, uint]' = NullValue - creatorFabricIndex: 'typing.Union[Nullable, uint]' = NullValue - lastModifiedFabricIndex: 'typing.Union[Nullable, uint]' = NullValue - nextCredentialIndex: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class ClearCredential(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0101 - command_id: typing.ClassVar[int] = 0x0026 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="credential", Tag=0, Type=typing.Union[Nullable, DoorLock.Structs.DlCredential]), - ]) - - @ChipUtility.classproperty - def must_use_timed_invoke(cls) -> bool: - return True - - credential: 'typing.Union[Nullable, DoorLock.Structs.DlCredential]' = NullValue - - - class Attributes: - @dataclass - class LockState(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, DoorLock.Enums.DlLockState]) - - value: 'typing.Union[Nullable, DoorLock.Enums.DlLockState]' = NullValue - - @dataclass - class LockType(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=DoorLock.Enums.DlLockType) - - value: 'DoorLock.Enums.DlLockType' = 0 - - @dataclass - class ActuatorEnabled(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=bool) - - value: 'bool' = False - - @dataclass - class DoorState(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, DoorLock.Enums.DlDoorState]) - - value: 'typing.Union[None, Nullable, DoorLock.Enums.DlDoorState]' = None - - @dataclass - class DoorOpenEvents(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000004 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class DoorClosedEvents(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000005 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class OpenPeriod(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000006 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class NumberOfTotalUsersSupported(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000011 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class NumberOfPINUsersSupported(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000012 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class NumberOfRFIDUsersSupported(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000013 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class NumberOfWeekDaySchedulesSupportedPerUser(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000014 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class NumberOfYearDaySchedulesSupportedPerUser(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000015 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class NumberOfHolidaySchedulesSupported(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000016 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class MaxPINCodeLength(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000017 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class MinPINCodeLength(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000018 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class MaxRFIDCodeLength(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000019 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class MinRFIDCodeLength(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000001A - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class CredentialRulesSupport(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000001B - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class NumberOfCredentialsSupportedPerUser(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000001C - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class Language(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000021 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - - value: 'typing.Optional[str]' = None - - @dataclass - class LEDSettings(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000022 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class AutoRelockTime(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000023 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class SoundVolume(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000024 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class OperatingMode(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000025 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=DoorLock.Enums.DlOperatingMode) - - value: 'DoorLock.Enums.DlOperatingMode' = 0 - - @dataclass - class SupportedOperatingModes(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000026 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class DefaultConfigurationRegister(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000027 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class EnableLocalProgramming(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000028 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) - - value: 'typing.Optional[bool]' = None - - @dataclass - class EnableOneTouchLocking(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000029 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) - - value: 'typing.Optional[bool]' = None - - @dataclass - class EnableInsideStatusLED(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000002A - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) - - value: 'typing.Optional[bool]' = None - - @dataclass - class EnablePrivacyModeButton(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000002B - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) - - value: 'typing.Optional[bool]' = None - - @dataclass - class LocalProgrammingFeatures(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000002C - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class WrongCodeEntryLimit(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000030 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class UserCodeTemporaryDisableTime(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000031 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class SendPINOverTheAir(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000032 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) - - value: 'typing.Optional[bool]' = None - - @dataclass - class RequirePINforRemoteOperation(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000033 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) - - value: 'typing.Optional[bool]' = None - - @dataclass - class ExpiringUserTimeout(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000035 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - class Events: - @dataclass - class DoorLockAlarm(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="alarmCode", Tag=0, Type=DoorLock.Enums.DlAlarmCode), - ]) - - alarmCode: 'DoorLock.Enums.DlAlarmCode' = 0 - - @dataclass - class DoorStateChange(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="doorState", Tag=0, Type=DoorLock.Enums.DlDoorState), - ]) - - doorState: 'DoorLock.Enums.DlDoorState' = 0 - - @dataclass - class LockOperation(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="lockOperationType", Tag=0, Type=DoorLock.Enums.DlLockOperationType), - ClusterObjectFieldDescriptor(Label="operationSource", Tag=1, Type=DoorLock.Enums.DlOperationSource), - ClusterObjectFieldDescriptor(Label="userIndex", Tag=2, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=3, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="sourceNode", Tag=4, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="credentials", Tag=5, Type=typing.Union[None, Nullable, typing.List[DoorLock.Structs.DlCredential]]), - ]) - - lockOperationType: 'DoorLock.Enums.DlLockOperationType' = 0 - operationSource: 'DoorLock.Enums.DlOperationSource' = 0 - userIndex: 'typing.Union[Nullable, uint]' = NullValue - fabricIndex: 'typing.Union[Nullable, uint]' = NullValue - sourceNode: 'typing.Union[Nullable, uint]' = NullValue - credentials: 'typing.Union[None, Nullable, typing.List[DoorLock.Structs.DlCredential]]' = None - - @dataclass - class LockOperationError(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="lockOperationType", Tag=0, Type=DoorLock.Enums.DlLockOperationType), - ClusterObjectFieldDescriptor(Label="operationSource", Tag=1, Type=DoorLock.Enums.DlOperationSource), - ClusterObjectFieldDescriptor(Label="operationError", Tag=2, Type=DoorLock.Enums.DlOperationError), - ClusterObjectFieldDescriptor(Label="userIndex", Tag=3, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=4, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="sourceNode", Tag=5, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="credentials", Tag=6, Type=typing.Union[None, Nullable, typing.List[DoorLock.Structs.DlCredential]]), - ]) - - lockOperationType: 'DoorLock.Enums.DlLockOperationType' = 0 - operationSource: 'DoorLock.Enums.DlOperationSource' = 0 - operationError: 'DoorLock.Enums.DlOperationError' = 0 - userIndex: 'typing.Union[Nullable, uint]' = NullValue - fabricIndex: 'typing.Union[Nullable, uint]' = NullValue - sourceNode: 'typing.Union[Nullable, uint]' = NullValue - credentials: 'typing.Union[None, Nullable, typing.List[DoorLock.Structs.DlCredential]]' = None - - @dataclass - class LockUserChange(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0101 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000004 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="lockDataType", Tag=0, Type=DoorLock.Enums.DlLockDataType), - ClusterObjectFieldDescriptor(Label="dataOperationType", Tag=1, Type=DoorLock.Enums.DlDataOperationType), - ClusterObjectFieldDescriptor(Label="operationSource", Tag=2, Type=DoorLock.Enums.DlOperationSource), - ClusterObjectFieldDescriptor(Label="userIndex", Tag=3, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=4, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="sourceNode", Tag=5, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="dataIndex", Tag=6, Type=typing.Union[Nullable, uint]), - ]) - - lockDataType: 'DoorLock.Enums.DlLockDataType' = 0 - dataOperationType: 'DoorLock.Enums.DlDataOperationType' = 0 - operationSource: 'DoorLock.Enums.DlOperationSource' = 0 - userIndex: 'typing.Union[Nullable, uint]' = NullValue - fabricIndex: 'typing.Union[Nullable, uint]' = NullValue - sourceNode: 'typing.Union[Nullable, uint]' = NullValue - dataIndex: 'typing.Union[Nullable, uint]' = NullValue - - -@dataclass -class WindowCovering(Cluster): - id: typing.ClassVar[int] = 0x0102 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="type", Tag=0x00000000, Type=WindowCovering.Enums.Type), - ClusterObjectFieldDescriptor(Label="physicalClosedLimitLift", Tag=0x00000001, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="physicalClosedLimitTilt", Tag=0x00000002, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="currentPositionLift", Tag=0x00000003, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="currentPositionTilt", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="numberOfActuationsLift", Tag=0x00000005, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="numberOfActuationsTilt", Tag=0x00000006, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="configStatus", Tag=0x00000007, Type=uint), - ClusterObjectFieldDescriptor(Label="currentPositionLiftPercentage", Tag=0x00000008, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="currentPositionTiltPercentage", Tag=0x00000009, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="operationalStatus", Tag=0x0000000A, Type=uint), - ClusterObjectFieldDescriptor(Label="targetPositionLiftPercent100ths", Tag=0x0000000B, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="targetPositionTiltPercent100ths", Tag=0x0000000C, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="endProductType", Tag=0x0000000D, Type=WindowCovering.Enums.EndProductType), - ClusterObjectFieldDescriptor(Label="currentPositionLiftPercent100ths", Tag=0x0000000E, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="currentPositionTiltPercent100ths", Tag=0x0000000F, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="installedOpenLimitLift", Tag=0x00000010, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="installedClosedLimitLift", Tag=0x00000011, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="installedOpenLimitTilt", Tag=0x00000012, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="installedClosedLimitTilt", Tag=0x00000013, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="mode", Tag=0x00000017, Type=uint), - ClusterObjectFieldDescriptor(Label="safetyStatus", Tag=0x0000001A, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - type: 'WindowCovering.Enums.Type' = None - physicalClosedLimitLift: 'typing.Optional[uint]' = None - physicalClosedLimitTilt: 'typing.Optional[uint]' = None - currentPositionLift: 'typing.Union[None, Nullable, uint]' = None - currentPositionTilt: 'typing.Union[None, Nullable, uint]' = None - numberOfActuationsLift: 'typing.Optional[uint]' = None - numberOfActuationsTilt: 'typing.Optional[uint]' = None - configStatus: 'uint' = None - currentPositionLiftPercentage: 'typing.Union[None, Nullable, uint]' = None - currentPositionTiltPercentage: 'typing.Union[None, Nullable, uint]' = None - operationalStatus: 'uint' = None - targetPositionLiftPercent100ths: 'typing.Union[None, Nullable, uint]' = None - targetPositionTiltPercent100ths: 'typing.Union[None, Nullable, uint]' = None - endProductType: 'WindowCovering.Enums.EndProductType' = None - currentPositionLiftPercent100ths: 'typing.Union[None, Nullable, uint]' = None - currentPositionTiltPercent100ths: 'typing.Union[None, Nullable, uint]' = None - installedOpenLimitLift: 'typing.Optional[uint]' = None - installedClosedLimitLift: 'typing.Optional[uint]' = None - installedOpenLimitTilt: 'typing.Optional[uint]' = None - installedClosedLimitTilt: 'typing.Optional[uint]' = None - mode: 'uint' = None - safetyStatus: 'typing.Optional[uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - class Enums: - class EndProductType(IntEnum): - kRollerShade = 0x00 - kRomanShade = 0x01 - kBalloonShade = 0x02 - kWovenWood = 0x03 - kPleatedShade = 0x04 - kCellularShade = 0x05 - kLayeredShade = 0x06 - kLayeredShade2D = 0x07 - kSheerShade = 0x08 - kTiltOnlyInteriorBlind = 0x09 - kInteriorBlind = 0x0A - kVerticalBlindStripCurtain = 0x0B - kInteriorVenetianBlind = 0x0C - kExteriorVenetianBlind = 0x0D - kLateralLeftCurtain = 0x0E - kLateralRightCurtain = 0x0F - kCentralCurtain = 0x10 - kRollerShutter = 0x11 - kExteriorVerticalScreen = 0x12 - kAwningTerracePatio = 0x13 - kAwningVerticalScreen = 0x14 - kTiltOnlyPergola = 0x15 - kSwingingShutter = 0x16 - kSlidingShutter = 0x17 - kUnknown = 0xFF - - class Type(IntEnum): - kRollerShade = 0x00 - kRollerShade2Motor = 0x01 - kRollerShadeExterior = 0x02 - kRollerShadeExterior2Motor = 0x03 - kDrapery = 0x04 - kAwning = 0x05 - kShutter = 0x06 - kTiltBlindTiltOnly = 0x07 - kTiltBlindLiftAndTilt = 0x08 - kProjectorScreen = 0x09 - kUnknown = 0xFF - - - - class Commands: - @dataclass - class UpOrOpen(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0102 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class DownOrClose(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0102 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class StopMotion(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0102 - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class GoToLiftValue(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0102 - command_id: typing.ClassVar[int] = 0x0004 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="liftValue", Tag=0, Type=uint), - ]) - - liftValue: 'uint' = 0 - - @dataclass - class GoToLiftPercentage(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0102 - command_id: typing.ClassVar[int] = 0x0005 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="liftPercent100thsValue", Tag=0, Type=uint), - ]) - - liftPercent100thsValue: 'uint' = 0 - - @dataclass - class GoToTiltValue(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0102 - command_id: typing.ClassVar[int] = 0x0007 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="tiltValue", Tag=0, Type=uint), - ]) - - tiltValue: 'uint' = 0 - - @dataclass - class GoToTiltPercentage(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0102 - command_id: typing.ClassVar[int] = 0x0008 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="tiltPercent100thsValue", Tag=0, Type=uint), - ]) - - tiltPercent100thsValue: 'uint' = 0 - - - class Attributes: - @dataclass - class Type(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=WindowCovering.Enums.Type) - - value: 'WindowCovering.Enums.Type' = 0 - - @dataclass - class PhysicalClosedLimitLift(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class PhysicalClosedLimitTilt(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class CurrentPositionLift(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class CurrentPositionTilt(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000004 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class NumberOfActuationsLift(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000005 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class NumberOfActuationsTilt(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000006 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class ConfigStatus(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000007 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class CurrentPositionLiftPercentage(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000008 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class CurrentPositionTiltPercentage(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000009 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class OperationalStatus(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000A - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class TargetPositionLiftPercent100ths(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000B - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class TargetPositionTiltPercent100ths(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000C - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class EndProductType(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000D - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=WindowCovering.Enums.EndProductType) - - value: 'WindowCovering.Enums.EndProductType' = 0 - - @dataclass - class CurrentPositionLiftPercent100ths(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000E - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class CurrentPositionTiltPercent100ths(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000F - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class InstalledOpenLimitLift(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000010 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class InstalledClosedLimitLift(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000011 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class InstalledOpenLimitTilt(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000012 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class InstalledClosedLimitTilt(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000013 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class Mode(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000017 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class SafetyStatus(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000001A - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0102 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class BarrierControl(Cluster): - id: typing.ClassVar[int] = 0x0103 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="barrierMovingState", Tag=0x00000001, Type=uint), - ClusterObjectFieldDescriptor(Label="barrierSafetyStatus", Tag=0x00000002, Type=uint), - ClusterObjectFieldDescriptor(Label="barrierCapabilities", Tag=0x00000003, Type=uint), - ClusterObjectFieldDescriptor(Label="barrierOpenEvents", Tag=0x00000004, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="barrierCloseEvents", Tag=0x00000005, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="barrierCommandOpenEvents", Tag=0x00000006, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="barrierCommandCloseEvents", Tag=0x00000007, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="barrierOpenPeriod", Tag=0x00000008, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="barrierClosePeriod", Tag=0x00000009, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="barrierPosition", Tag=0x0000000A, Type=uint), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - barrierMovingState: 'uint' = None - barrierSafetyStatus: 'uint' = None - barrierCapabilities: 'uint' = None - barrierOpenEvents: 'typing.Optional[uint]' = None - barrierCloseEvents: 'typing.Optional[uint]' = None - barrierCommandOpenEvents: 'typing.Optional[uint]' = None - barrierCommandCloseEvents: 'typing.Optional[uint]' = None - barrierOpenPeriod: 'typing.Optional[uint]' = None - barrierClosePeriod: 'typing.Optional[uint]' = None - barrierPosition: 'uint' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - - class Commands: - @dataclass - class BarrierControlGoToPercent(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0103 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="percentOpen", Tag=0, Type=uint), - ]) - - percentOpen: 'uint' = 0 - - @dataclass - class BarrierControlStop(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0103 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - - class Attributes: - @dataclass - class BarrierMovingState(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0103 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class BarrierSafetyStatus(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0103 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class BarrierCapabilities(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0103 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class BarrierOpenEvents(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0103 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000004 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class BarrierCloseEvents(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0103 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000005 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class BarrierCommandOpenEvents(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0103 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000006 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class BarrierCommandCloseEvents(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0103 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000007 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class BarrierOpenPeriod(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0103 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000008 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class BarrierClosePeriod(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0103 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000009 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class BarrierPosition(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0103 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000A - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0103 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0103 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0103 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0103 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0103 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class PumpConfigurationAndControl(Cluster): - id: typing.ClassVar[int] = 0x0200 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="maxPressure", Tag=0x00000000, Type=typing.Union[Nullable, int]), - ClusterObjectFieldDescriptor(Label="maxSpeed", Tag=0x00000001, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="maxFlow", Tag=0x00000002, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="minConstPressure", Tag=0x00000003, Type=typing.Union[None, Nullable, int]), - ClusterObjectFieldDescriptor(Label="maxConstPressure", Tag=0x00000004, Type=typing.Union[None, Nullable, int]), - ClusterObjectFieldDescriptor(Label="minCompPressure", Tag=0x00000005, Type=typing.Union[None, Nullable, int]), - ClusterObjectFieldDescriptor(Label="maxCompPressure", Tag=0x00000006, Type=typing.Union[None, Nullable, int]), - ClusterObjectFieldDescriptor(Label="minConstSpeed", Tag=0x00000007, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="maxConstSpeed", Tag=0x00000008, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="minConstFlow", Tag=0x00000009, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="maxConstFlow", Tag=0x0000000A, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="minConstTemp", Tag=0x0000000B, Type=typing.Union[None, Nullable, int]), - ClusterObjectFieldDescriptor(Label="maxConstTemp", Tag=0x0000000C, Type=typing.Union[None, Nullable, int]), - ClusterObjectFieldDescriptor(Label="pumpStatus", Tag=0x00000010, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="effectiveOperationMode", Tag=0x00000011, Type=PumpConfigurationAndControl.Enums.PumpOperationMode), - ClusterObjectFieldDescriptor(Label="effectiveControlMode", Tag=0x00000012, Type=PumpConfigurationAndControl.Enums.PumpControlMode), - ClusterObjectFieldDescriptor(Label="capacity", Tag=0x00000013, Type=typing.Union[Nullable, int]), - ClusterObjectFieldDescriptor(Label="speed", Tag=0x00000014, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="lifetimeRunningHours", Tag=0x00000015, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="power", Tag=0x00000016, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="lifetimeEnergyConsumed", Tag=0x00000017, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="operationMode", Tag=0x00000020, Type=PumpConfigurationAndControl.Enums.PumpOperationMode), - ClusterObjectFieldDescriptor(Label="controlMode", Tag=0x00000021, Type=typing.Optional[PumpConfigurationAndControl.Enums.PumpControlMode]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - maxPressure: 'typing.Union[Nullable, int]' = None - maxSpeed: 'typing.Union[Nullable, uint]' = None - maxFlow: 'typing.Union[Nullable, uint]' = None - minConstPressure: 'typing.Union[None, Nullable, int]' = None - maxConstPressure: 'typing.Union[None, Nullable, int]' = None - minCompPressure: 'typing.Union[None, Nullable, int]' = None - maxCompPressure: 'typing.Union[None, Nullable, int]' = None - minConstSpeed: 'typing.Union[None, Nullable, uint]' = None - maxConstSpeed: 'typing.Union[None, Nullable, uint]' = None - minConstFlow: 'typing.Union[None, Nullable, uint]' = None - maxConstFlow: 'typing.Union[None, Nullable, uint]' = None - minConstTemp: 'typing.Union[None, Nullable, int]' = None - maxConstTemp: 'typing.Union[None, Nullable, int]' = None - pumpStatus: 'typing.Optional[uint]' = None - effectiveOperationMode: 'PumpConfigurationAndControl.Enums.PumpOperationMode' = None - effectiveControlMode: 'PumpConfigurationAndControl.Enums.PumpControlMode' = None - capacity: 'typing.Union[Nullable, int]' = None - speed: 'typing.Union[None, Nullable, uint]' = None - lifetimeRunningHours: 'typing.Union[None, Nullable, uint]' = None - power: 'typing.Union[None, Nullable, uint]' = None - lifetimeEnergyConsumed: 'typing.Union[None, Nullable, uint]' = None - operationMode: 'PumpConfigurationAndControl.Enums.PumpOperationMode' = None - controlMode: 'typing.Optional[PumpConfigurationAndControl.Enums.PumpControlMode]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - class Enums: - class PumpControlMode(IntEnum): - kConstantSpeed = 0x00 - kConstantPressure = 0x01 - kProportionalPressure = 0x02 - kConstantFlow = 0x03 - kConstantTemperature = 0x05 - kAutomatic = 0x07 - - class PumpOperationMode(IntEnum): - kNormal = 0x00 - kMinimum = 0x01 - kMaximum = 0x02 - kLocal = 0x03 - - - - - class Attributes: - @dataclass - class MaxPressure(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) - - value: 'typing.Union[Nullable, int]' = NullValue - - @dataclass - class MaxSpeed(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - - value: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class MaxFlow(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - - value: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class MinConstPressure(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - - value: 'typing.Union[None, Nullable, int]' = None - - @dataclass - class MaxConstPressure(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000004 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - - value: 'typing.Union[None, Nullable, int]' = None - - @dataclass - class MinCompPressure(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000005 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - - value: 'typing.Union[None, Nullable, int]' = None - - @dataclass - class MaxCompPressure(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000006 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - - value: 'typing.Union[None, Nullable, int]' = None - - @dataclass - class MinConstSpeed(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000007 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class MaxConstSpeed(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000008 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class MinConstFlow(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000009 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class MaxConstFlow(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000A - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class MinConstTemp(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000B - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - - value: 'typing.Union[None, Nullable, int]' = None - - @dataclass - class MaxConstTemp(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000C - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - - value: 'typing.Union[None, Nullable, int]' = None - - @dataclass - class PumpStatus(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000010 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class EffectiveOperationMode(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000011 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=PumpConfigurationAndControl.Enums.PumpOperationMode) - - value: 'PumpConfigurationAndControl.Enums.PumpOperationMode' = 0 - - @dataclass - class EffectiveControlMode(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000012 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=PumpConfigurationAndControl.Enums.PumpControlMode) - - value: 'PumpConfigurationAndControl.Enums.PumpControlMode' = 0 - - @dataclass - class Capacity(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000013 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) - - value: 'typing.Union[Nullable, int]' = NullValue - - @dataclass - class Speed(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000014 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class LifetimeRunningHours(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000015 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class Power(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000016 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class LifetimeEnergyConsumed(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000017 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class OperationMode(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000020 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=PumpConfigurationAndControl.Enums.PumpOperationMode) - - value: 'PumpConfigurationAndControl.Enums.PumpOperationMode' = 0 - - @dataclass - class ControlMode(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000021 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[PumpConfigurationAndControl.Enums.PumpControlMode]) - - value: 'typing.Optional[PumpConfigurationAndControl.Enums.PumpControlMode]' = None - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - class Events: - @dataclass - class SupplyVoltageLow(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class SupplyVoltageHigh(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class PowerMissingPhase(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class SystemPressureLow(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class SystemPressureHigh(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000004 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class DryRunning(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000005 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class MotorTemperatureHigh(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000006 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class PumpMotorFatalFailure(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000007 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class ElectronicTemperatureHigh(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000008 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class PumpBlocked(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000009 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class SensorFailure(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x0000000A - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class ElectronicNonFatalFailure(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x0000000B - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class ElectronicFatalFailure(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x0000000C - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class GeneralFault(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x0000000D - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class Leakage(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x0000000E - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class AirDetection(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x0000000F - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class TurbineOperation(ClusterEvent): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0200 - - @ChipUtility.classproperty - def event_id(cls) -> int: - return 0x00000010 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - -@dataclass -class Thermostat(Cluster): - id: typing.ClassVar[int] = 0x0201 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="localTemperature", Tag=0x00000000, Type=typing.Union[Nullable, int]), - ClusterObjectFieldDescriptor(Label="outdoorTemperature", Tag=0x00000001, Type=typing.Union[None, Nullable, int]), - ClusterObjectFieldDescriptor(Label="occupancy", Tag=0x00000002, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="absMinHeatSetpointLimit", Tag=0x00000003, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="absMaxHeatSetpointLimit", Tag=0x00000004, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="absMinCoolSetpointLimit", Tag=0x00000005, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="absMaxCoolSetpointLimit", Tag=0x00000006, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="PICoolingDemand", Tag=0x00000007, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="PIHeatingDemand", Tag=0x00000008, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="HVACSystemTypeConfiguration", Tag=0x00000009, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="localTemperatureCalibration", Tag=0x00000010, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="occupiedCoolingSetpoint", Tag=0x00000011, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="occupiedHeatingSetpoint", Tag=0x00000012, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="unoccupiedCoolingSetpoint", Tag=0x00000013, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="unoccupiedHeatingSetpoint", Tag=0x00000014, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="minHeatSetpointLimit", Tag=0x00000015, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="maxHeatSetpointLimit", Tag=0x00000016, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="minCoolSetpointLimit", Tag=0x00000017, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="maxCoolSetpointLimit", Tag=0x00000018, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="minSetpointDeadBand", Tag=0x00000019, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="remoteSensing", Tag=0x0000001A, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="controlSequenceOfOperation", Tag=0x0000001B, Type=Thermostat.Enums.ThermostatControlSequence), - ClusterObjectFieldDescriptor(Label="systemMode", Tag=0x0000001C, Type=uint), - ClusterObjectFieldDescriptor(Label="thermostatRunningMode", Tag=0x0000001E, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="startOfWeek", Tag=0x00000020, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="numberOfWeeklyTransitions", Tag=0x00000021, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="numberOfDailyTransitions", Tag=0x00000022, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="temperatureSetpointHold", Tag=0x00000023, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="temperatureSetpointHoldDuration", Tag=0x00000024, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="thermostatProgrammingOperationMode", Tag=0x00000025, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="thermostatRunningState", Tag=0x00000029, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="setpointChangeSource", Tag=0x00000030, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="setpointChangeAmount", Tag=0x00000031, Type=typing.Union[None, Nullable, int]), - ClusterObjectFieldDescriptor(Label="setpointChangeSourceTimestamp", Tag=0x00000032, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="occupiedSetback", Tag=0x00000034, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="occupiedSetbackMin", Tag=0x00000035, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="occupiedSetbackMax", Tag=0x00000036, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="unoccupiedSetback", Tag=0x00000037, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="unoccupiedSetbackMin", Tag=0x00000038, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="unoccupiedSetbackMax", Tag=0x00000039, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="emergencyHeatDelta", Tag=0x0000003A, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="ACType", Tag=0x00000040, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="ACCapacity", Tag=0x00000041, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="ACRefrigerantType", Tag=0x00000042, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="ACCompressorType", Tag=0x00000043, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="ACErrorCode", Tag=0x00000044, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="ACLouverPosition", Tag=0x00000045, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="ACCoilTemperature", Tag=0x00000046, Type=typing.Union[None, Nullable, int]), - ClusterObjectFieldDescriptor(Label="ACCapacityformat", Tag=0x00000047, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - localTemperature: 'typing.Union[Nullable, int]' = None - outdoorTemperature: 'typing.Union[None, Nullable, int]' = None - occupancy: 'typing.Optional[uint]' = None - absMinHeatSetpointLimit: 'typing.Optional[int]' = None - absMaxHeatSetpointLimit: 'typing.Optional[int]' = None - absMinCoolSetpointLimit: 'typing.Optional[int]' = None - absMaxCoolSetpointLimit: 'typing.Optional[int]' = None - PICoolingDemand: 'typing.Optional[uint]' = None - PIHeatingDemand: 'typing.Optional[uint]' = None - HVACSystemTypeConfiguration: 'typing.Optional[uint]' = None - localTemperatureCalibration: 'typing.Optional[int]' = None - occupiedCoolingSetpoint: 'typing.Optional[int]' = None - occupiedHeatingSetpoint: 'typing.Optional[int]' = None - unoccupiedCoolingSetpoint: 'typing.Optional[int]' = None - unoccupiedHeatingSetpoint: 'typing.Optional[int]' = None - minHeatSetpointLimit: 'typing.Optional[int]' = None - maxHeatSetpointLimit: 'typing.Optional[int]' = None - minCoolSetpointLimit: 'typing.Optional[int]' = None - maxCoolSetpointLimit: 'typing.Optional[int]' = None - minSetpointDeadBand: 'typing.Optional[int]' = None - remoteSensing: 'typing.Optional[uint]' = None - controlSequenceOfOperation: 'Thermostat.Enums.ThermostatControlSequence' = None - systemMode: 'uint' = None - thermostatRunningMode: 'typing.Optional[uint]' = None - startOfWeek: 'typing.Optional[uint]' = None - numberOfWeeklyTransitions: 'typing.Optional[uint]' = None - numberOfDailyTransitions: 'typing.Optional[uint]' = None - temperatureSetpointHold: 'typing.Optional[uint]' = None - temperatureSetpointHoldDuration: 'typing.Union[None, Nullable, uint]' = None - thermostatProgrammingOperationMode: 'typing.Optional[uint]' = None - thermostatRunningState: 'typing.Optional[uint]' = None - setpointChangeSource: 'typing.Optional[uint]' = None - setpointChangeAmount: 'typing.Union[None, Nullable, int]' = None - setpointChangeSourceTimestamp: 'typing.Optional[uint]' = None - occupiedSetback: 'typing.Union[None, Nullable, uint]' = None - occupiedSetbackMin: 'typing.Union[None, Nullable, uint]' = None - occupiedSetbackMax: 'typing.Union[None, Nullable, uint]' = None - unoccupiedSetback: 'typing.Union[None, Nullable, uint]' = None - unoccupiedSetbackMin: 'typing.Union[None, Nullable, uint]' = None - unoccupiedSetbackMax: 'typing.Union[None, Nullable, uint]' = None - emergencyHeatDelta: 'typing.Optional[uint]' = None - ACType: 'typing.Optional[uint]' = None - ACCapacity: 'typing.Optional[uint]' = None - ACRefrigerantType: 'typing.Optional[uint]' = None - ACCompressorType: 'typing.Optional[uint]' = None - ACErrorCode: 'typing.Optional[uint]' = None - ACLouverPosition: 'typing.Optional[uint]' = None - ACCoilTemperature: 'typing.Union[None, Nullable, int]' = None - ACCapacityformat: 'typing.Optional[uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - class Enums: - class SetpointAdjustMode(IntEnum): - kHeatSetpoint = 0x00 - kCoolSetpoint = 0x01 - kHeatAndCoolSetpoints = 0x02 - - class ThermostatControlSequence(IntEnum): - kCoolingOnly = 0x00 - kCoolingWithReheat = 0x01 - kHeatingOnly = 0x02 - kHeatingWithReheat = 0x03 - kCoolingAndHeating = 0x04 - kCoolingAndHeatingWithReheat = 0x05 - - class ThermostatRunningMode(IntEnum): - kOff = 0x00 - kCool = 0x03 - kHeat = 0x04 - - class ThermostatSystemMode(IntEnum): - kOff = 0x00 - kAuto = 0x01 - kCool = 0x03 - kHeat = 0x04 - kEmergencyHeating = 0x05 - kPrecooling = 0x06 - kFanOnly = 0x07 - - - class Structs: - @dataclass - class ThermostatScheduleTransition(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="heatSetpoint", Tag=1, Type=typing.Union[Nullable, int]), - ClusterObjectFieldDescriptor(Label="coolSetpoint", Tag=2, Type=typing.Union[Nullable, int]), - ]) - - transitionTime: 'uint' = 0 - heatSetpoint: 'typing.Union[Nullable, int]' = NullValue - coolSetpoint: 'typing.Union[Nullable, int]' = NullValue - - - - class Commands: - @dataclass - class SetpointRaiseLower(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0201 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="mode", Tag=0, Type=Thermostat.Enums.SetpointAdjustMode), - ClusterObjectFieldDescriptor(Label="amount", Tag=1, Type=int), - ]) - - mode: 'Thermostat.Enums.SetpointAdjustMode' = 0 - amount: 'int' = 0 - - @dataclass - class GetWeeklyScheduleResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0201 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="numberOfTransitionsForSequence", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="dayOfWeekForSequence", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="modeForSequence", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="transitions", Tag=3, Type=typing.List[Thermostat.Structs.ThermostatScheduleTransition]), - ]) - - numberOfTransitionsForSequence: 'uint' = 0 - dayOfWeekForSequence: 'uint' = 0 - modeForSequence: 'uint' = 0 - transitions: 'typing.List[Thermostat.Structs.ThermostatScheduleTransition]' = field(default_factory=lambda: []) - - @dataclass - class SetWeeklySchedule(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0201 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="numberOfTransitionsForSequence", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="dayOfWeekForSequence", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="modeForSequence", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="transitions", Tag=3, Type=typing.List[Thermostat.Structs.ThermostatScheduleTransition]), - ]) - - numberOfTransitionsForSequence: 'uint' = 0 - dayOfWeekForSequence: 'uint' = 0 - modeForSequence: 'uint' = 0 - transitions: 'typing.List[Thermostat.Structs.ThermostatScheduleTransition]' = field(default_factory=lambda: []) - - @dataclass - class GetWeeklySchedule(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0201 - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="daysToReturn", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="modeToReturn", Tag=1, Type=uint), - ]) - - daysToReturn: 'uint' = 0 - modeToReturn: 'uint' = 0 - - @dataclass - class ClearWeeklySchedule(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0201 - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - - class Attributes: - @dataclass - class LocalTemperature(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) - - value: 'typing.Union[Nullable, int]' = NullValue - - @dataclass - class OutdoorTemperature(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - - value: 'typing.Union[None, Nullable, int]' = None - - @dataclass - class Occupancy(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class AbsMinHeatSetpointLimit(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - - value: 'typing.Optional[int]' = None - - @dataclass - class AbsMaxHeatSetpointLimit(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000004 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - - value: 'typing.Optional[int]' = None - - @dataclass - class AbsMinCoolSetpointLimit(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000005 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - - value: 'typing.Optional[int]' = None - - @dataclass - class AbsMaxCoolSetpointLimit(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000006 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - - value: 'typing.Optional[int]' = None - - @dataclass - class PICoolingDemand(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000007 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class PIHeatingDemand(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000008 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class HVACSystemTypeConfiguration(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000009 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class LocalTemperatureCalibration(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000010 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - - value: 'typing.Optional[int]' = None - - @dataclass - class OccupiedCoolingSetpoint(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000011 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - - value: 'typing.Optional[int]' = None - - @dataclass - class OccupiedHeatingSetpoint(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000012 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - - value: 'typing.Optional[int]' = None - - @dataclass - class UnoccupiedCoolingSetpoint(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000013 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - - value: 'typing.Optional[int]' = None - - @dataclass - class UnoccupiedHeatingSetpoint(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000014 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - - value: 'typing.Optional[int]' = None - - @dataclass - class MinHeatSetpointLimit(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000015 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - - value: 'typing.Optional[int]' = None - - @dataclass - class MaxHeatSetpointLimit(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000016 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - - value: 'typing.Optional[int]' = None - - @dataclass - class MinCoolSetpointLimit(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000017 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - - value: 'typing.Optional[int]' = None - - @dataclass - class MaxCoolSetpointLimit(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000018 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - - value: 'typing.Optional[int]' = None - - @dataclass - class MinSetpointDeadBand(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000019 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - - value: 'typing.Optional[int]' = None - - @dataclass - class RemoteSensing(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000001A - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class ControlSequenceOfOperation(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000001B - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=Thermostat.Enums.ThermostatControlSequence) - - value: 'Thermostat.Enums.ThermostatControlSequence' = 0 - - @dataclass - class SystemMode(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000001C - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ThermostatRunningMode(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000001E - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class StartOfWeek(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000020 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class NumberOfWeeklyTransitions(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000021 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class NumberOfDailyTransitions(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000022 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TemperatureSetpointHold(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000023 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class TemperatureSetpointHoldDuration(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000024 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class ThermostatProgrammingOperationMode(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000025 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class ThermostatRunningState(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000029 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class SetpointChangeSource(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000030 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class SetpointChangeAmount(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000031 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - - value: 'typing.Union[None, Nullable, int]' = None - - @dataclass - class SetpointChangeSourceTimestamp(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000032 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class OccupiedSetback(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000034 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class OccupiedSetbackMin(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000035 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class OccupiedSetbackMax(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000036 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class UnoccupiedSetback(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000037 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class UnoccupiedSetbackMin(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000038 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class UnoccupiedSetbackMax(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000039 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - - value: 'typing.Union[None, Nullable, uint]' = None - - @dataclass - class EmergencyHeatDelta(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000003A - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class ACType(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000040 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class ACCapacity(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000041 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class ACRefrigerantType(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000042 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None + value: 'typing.Optional[str]' = None @dataclass - class ACCompressorType(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0201 + return 0x0039 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000043 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class ACErrorCode(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0201 + return 0x0039 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000044 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class ACLouverPosition(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0201 + return 0x0039 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000045 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class ACCoilTemperature(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0201 + return 0x0039 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000046 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Union[None, Nullable, int]' = None + value: 'uint' = 0 @dataclass - class ACCapacityformat(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0201 + return 0x0039 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000047 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0201 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 + return ClusterObjectFieldDescriptor(Type=uint) - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + value: 'uint' = 0 - value: 'typing.List[uint]' = field(default_factory=lambda: []) + class Events: @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class StartUp(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0201 + return 0x0039 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 + def event_id(cls) -> int: + return 0x00000000 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="softwareVersion", Tag=0, Type=uint), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + softwareVersion: 'uint' = 0 @dataclass - class AttributeList(ClusterAttributeDescriptor): + class ShutDown(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0201 + return 0x0039 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB + def event_id(cls) -> int: + return 0x00000001 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class Leave(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0201 + return 0x0039 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC + def event_id(cls) -> int: + return 0x00000002 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'uint' = 0 @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class ReachableChanged(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0201 + return 0x0039 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD + def event_id(cls) -> int: + return 0x00000003 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="reachableNewValue", Tag=0, Type=bool), + ]) + reachableNewValue: 'bool' = False @dataclass -class FanControl(Cluster): - id: typing.ClassVar[int] = 0x0202 +class Switch(Cluster): + id: typing.ClassVar[int] = 0x003B @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="fanMode", Tag=0x00000000, Type=FanControl.Enums.FanModeType), - ClusterObjectFieldDescriptor(Label="fanModeSequence", Tag=0x00000001, Type=FanControl.Enums.FanModeSequenceType), - ClusterObjectFieldDescriptor(Label="percentSetting", Tag=0x00000002, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="percentCurrent", Tag=0x00000003, Type=uint), - ClusterObjectFieldDescriptor(Label="speedMax", Tag=0x00000004, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="speedSetting", Tag=0x00000005, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="speedCurrent", Tag=0x00000006, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rockSupport", Tag=0x00000007, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="rockSetting", Tag=0x00000008, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="windSupport", Tag=0x00000009, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="windSetting", Tag=0x0000000A, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="numberOfPositions", Tag=0x00000000, Type=uint), + ClusterObjectFieldDescriptor(Label="currentPosition", Tag=0x00000001, Type=uint), + ClusterObjectFieldDescriptor(Label="multiPressMax", Tag=0x00000002, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -20681,50 +10483,24 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - fanMode: 'FanControl.Enums.FanModeType' = None - fanModeSequence: 'FanControl.Enums.FanModeSequenceType' = None - percentSetting: 'typing.Union[Nullable, uint]' = None - percentCurrent: 'uint' = None - speedMax: 'typing.Optional[uint]' = None - speedSetting: 'typing.Union[None, Nullable, uint]' = None - speedCurrent: 'typing.Optional[uint]' = None - rockSupport: 'typing.Optional[uint]' = None - rockSetting: 'typing.Optional[uint]' = None - windSupport: 'typing.Optional[uint]' = None - windSetting: 'typing.Optional[uint]' = None + numberOfPositions: 'uint' = None + currentPosition: 'uint' = None + multiPressMax: 'typing.Optional[uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None - class Enums: - class FanModeSequenceType(IntEnum): - kOffLowMedHigh = 0x00 - kOffLowHigh = 0x01 - kOffLowMedHighAuto = 0x02 - kOffLowHighAuto = 0x03 - kOffOnAuto = 0x04 - kOffOn = 0x05 - - class FanModeType(IntEnum): - kOff = 0x00 - kLow = 0x01 - kMedium = 0x02 - kHigh = 0x03 - kOn = 0x04 - kAuto = 0x05 - kSmart = 0x06 - class Attributes: @dataclass - class FanMode(ClusterAttributeDescriptor): + class NumberOfPositions(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0202 + return 0x003B @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -20732,15 +10508,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=FanControl.Enums.FanModeType) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'FanControl.Enums.FanModeType' = 0 + value: 'uint' = 0 @dataclass - class FanModeSequence(ClusterAttributeDescriptor): + class CurrentPosition(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0202 + return 0x003B @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -20748,15 +10524,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=FanControl.Enums.FanModeSequenceType) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'FanControl.Enums.FanModeSequenceType' = 0 + value: 'uint' = 0 @dataclass - class PercentSetting(ClusterAttributeDescriptor): + class MultiPressMax(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0202 + return 0x003B @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -20764,236 +10540,241 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[Nullable, uint]' = NullValue + value: 'typing.Optional[uint]' = None @dataclass - class PercentCurrent(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0202 + return 0x003B @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'uint' = 0 + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class SpeedMax(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0202 + return 0x003B @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000004 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class SpeedSetting(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0202 + return 0x003B @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000005 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class SpeedCurrent(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0202 + return 0x003B @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000006 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class RockSupport(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0202 + return 0x003B @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000007 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class RockSetting(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0202 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000008 + return ClusterObjectFieldDescriptor(Type=uint) - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'uint' = 0 - value: 'typing.Optional[uint]' = None + class Events: @dataclass - class WindSupport(ClusterAttributeDescriptor): + class SwitchLatched(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0202 + return 0x003B @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000009 + def event_id(cls) -> int: + return 0x00000000 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="newPosition", Tag=0, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + newPosition: 'uint' = 0 @dataclass - class WindSetting(ClusterAttributeDescriptor): + class InitialPress(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0202 + return 0x003B @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000A + def event_id(cls) -> int: + return 0x00000001 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="newPosition", Tag=0, Type=uint), + ]) - value: 'typing.Optional[uint]' = None + newPosition: 'uint' = 0 @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class LongPress(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0202 + return 0x003B @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 + def event_id(cls) -> int: + return 0x00000002 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="newPosition", Tag=0, Type=uint), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + newPosition: 'uint' = 0 @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class ShortRelease(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0202 + return 0x003B @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 + def event_id(cls) -> int: + return 0x00000003 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="previousPosition", Tag=0, Type=uint), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + previousPosition: 'uint' = 0 @dataclass - class AttributeList(ClusterAttributeDescriptor): + class LongRelease(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0202 + return 0x003B @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB + def event_id(cls) -> int: + return 0x00000004 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="previousPosition", Tag=0, Type=uint), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + previousPosition: 'uint' = 0 @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class MultiPressOngoing(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0202 + return 0x003B @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC + def event_id(cls) -> int: + return 0x00000005 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="newPosition", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="currentNumberOfPressesCounted", Tag=1, Type=uint), + ]) - value: 'uint' = 0 + newPosition: 'uint' = 0 + currentNumberOfPressesCounted: 'uint' = 0 @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class MultiPressComplete(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0202 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x003B @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def event_id(cls) -> int: + return 0x00000006 - value: 'uint' = 0 + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="newPosition", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="totalNumberOfPressesCounted", Tag=1, Type=uint), + ]) + newPosition: 'uint' = 0 + totalNumberOfPressesCounted: 'uint' = 0 @dataclass -class DehumidificationControl(Cluster): - id: typing.ClassVar[int] = 0x0203 +class AdministratorCommissioning(Cluster): + id: typing.ClassVar[int] = 0x003C @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="relativeHumidity", Tag=0x00000000, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="dehumidificationCooling", Tag=0x00000001, Type=uint), - ClusterObjectFieldDescriptor(Label="rhDehumidificationSetpoint", Tag=0x00000010, Type=uint), - ClusterObjectFieldDescriptor(Label="relativeHumidityMode", Tag=0x00000011, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="dehumidificationLockout", Tag=0x00000012, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="dehumidificationHysteresis", Tag=0x00000013, Type=uint), - ClusterObjectFieldDescriptor(Label="dehumidificationMaxCool", Tag=0x00000014, Type=uint), - ClusterObjectFieldDescriptor(Label="relativeHumidityDisplay", Tag=0x00000015, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="windowStatus", Tag=0x00000000, Type=uint), + ClusterObjectFieldDescriptor(Label="adminFabricIndex", Tag=0x00000001, Type=uint), + ClusterObjectFieldDescriptor(Label="adminVendorId", Tag=0x00000002, Type=uint), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -21001,113 +10782,103 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - relativeHumidity: 'typing.Optional[uint]' = None - dehumidificationCooling: 'uint' = None - rhDehumidificationSetpoint: 'uint' = None - relativeHumidityMode: 'typing.Optional[uint]' = None - dehumidificationLockout: 'typing.Optional[uint]' = None - dehumidificationHysteresis: 'uint' = None - dehumidificationMaxCool: 'uint' = None - relativeHumidityDisplay: 'typing.Optional[uint]' = None + windowStatus: 'uint' = None + adminFabricIndex: 'uint' = None + adminVendorId: 'uint' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None + class Enums: + class CommissioningWindowStatus(IntEnum): + kWindowNotOpen = 0x00 + kEnhancedWindowOpen = 0x01 + kBasicWindowOpen = 0x02 + class StatusCode(IntEnum): + kBusy = 0x01 + kPAKEParameterError = 0x02 + kWindowNotOpen = 0x03 - class Attributes: - @dataclass - class RelativeHumidity(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0203 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None + class Commands: @dataclass - class DehumidificationCooling(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0203 + class OpenCommissioningWindow(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003C + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="commissioningTimeout", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="PAKEVerifier", Tag=1, Type=bytes), + ClusterObjectFieldDescriptor(Label="discriminator", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="iterations", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="salt", Tag=4, Type=bytes), + ]) @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def must_use_timed_invoke(cls) -> bool: + return True - value: 'uint' = 0 + commissioningTimeout: 'uint' = 0 + PAKEVerifier: 'bytes' = b"" + discriminator: 'uint' = 0 + iterations: 'uint' = 0 + salt: 'bytes' = b"" @dataclass - class RhDehumidificationSetpoint(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0203 + class OpenBasicCommissioningWindow(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003C + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000010 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="commissioningTimeout", Tag=0, Type=uint), + ]) @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def must_use_timed_invoke(cls) -> bool: + return True - value: 'uint' = 0 + commissioningTimeout: 'uint' = 0 @dataclass - class RelativeHumidityMode(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0203 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000011 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None + class RevokeCommissioning(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003C + command_id: typing.ClassVar[int] = 0x0002 + is_client: typing.ClassVar[bool] = True - @dataclass - class DehumidificationLockout(ClusterAttributeDescriptor): @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0203 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000012 + def must_use_timed_invoke(cls) -> bool: + return True - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[uint]' = None + class Attributes: @dataclass - class DehumidificationHysteresis(ClusterAttributeDescriptor): + class WindowStatus(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0203 + return 0x003C @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000013 + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -21116,14 +10887,14 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 @dataclass - class DehumidificationMaxCool(ClusterAttributeDescriptor): + class AdminFabricIndex(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0203 + return 0x003C @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000014 + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -21132,26 +10903,26 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 @dataclass - class RelativeHumidityDisplay(ClusterAttributeDescriptor): + class AdminVendorId(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0203 + return 0x003C @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000015 + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0203 + return 0x003C @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -21167,7 +10938,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0203 + return 0x003C @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -21183,7 +10954,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0203 + return 0x003C @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -21199,7 +10970,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0203 + return 0x003C @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -21215,7 +10986,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0203 + return 0x003C @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -21230,16 +11001,19 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class ThermostatUserInterfaceConfiguration(Cluster): - id: typing.ClassVar[int] = 0x0204 +class OperationalCredentials(Cluster): + id: typing.ClassVar[int] = 0x003E @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="temperatureDisplayMode", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="keypadLockout", Tag=0x00000001, Type=uint), - ClusterObjectFieldDescriptor(Label="scheduleProgrammingVisibility", Tag=0x00000002, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="NOCs", Tag=0x00000000, Type=typing.List[OperationalCredentials.Structs.NOCStruct]), + ClusterObjectFieldDescriptor(Label="fabrics", Tag=0x00000001, Type=typing.List[OperationalCredentials.Structs.FabricDescriptor]), + ClusterObjectFieldDescriptor(Label="supportedFabrics", Tag=0x00000002, Type=uint), + ClusterObjectFieldDescriptor(Label="commissionedFabrics", Tag=0x00000003, Type=uint), + ClusterObjectFieldDescriptor(Label="trustedRootCertificates", Tag=0x00000004, Type=typing.List[bytes]), + ClusterObjectFieldDescriptor(Label="currentFabricIndex", Tag=0x00000005, Type=uint), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -21247,900 +11021,1042 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - temperatureDisplayMode: 'uint' = None - keypadLockout: 'uint' = None - scheduleProgrammingVisibility: 'typing.Optional[uint]' = None + NOCs: 'typing.List[OperationalCredentials.Structs.NOCStruct]' = None + fabrics: 'typing.List[OperationalCredentials.Structs.FabricDescriptor]' = None + supportedFabrics: 'uint' = None + commissionedFabrics: 'uint' = None + trustedRootCertificates: 'typing.List[bytes]' = None + currentFabricIndex: 'uint' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None + class Enums: + class OperationalCertStatus(IntEnum): + kSuccess = 0x00 + kInvalidPublicKey = 0x01 + kInvalidNodeOpId = 0x02 + kInvalidNOC = 0x03 + kMissingCsr = 0x04 + kTableFull = 0x05 + kInvalidAdminSubject = 0x06 + kInsufficientPrivilege = 0x08 + kFabricConflict = 0x09 + kLabelConflict = 0x0A + kInvalidFabricIndex = 0x0B - - class Attributes: - @dataclass - class TemperatureDisplayMode(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0204 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class KeypadLockout(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0204 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class ScheduleProgrammingVisibility(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0204 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - + class Structs: @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0204 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - + class FabricDescriptor(ClusterObject): @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="rootPublicKey", Tag=1, Type=bytes), + ClusterObjectFieldDescriptor(Label="vendorId", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="fabricId", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="nodeId", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="label", Tag=5, Type=str), + ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + rootPublicKey: 'bytes' = b"" + vendorId: 'uint' = 0 + fabricId: 'uint' = 0 + nodeId: 'uint' = 0 + label: 'str' = "" + fabricIndex: 'uint' = 0 @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class NOCStruct(ClusterObject): @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0204 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="noc", Tag=1, Type=bytes), + ClusterObjectFieldDescriptor(Label="icac", Tag=2, Type=typing.Union[Nullable, bytes]), + ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint), + ]) - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 + noc: 'bytes' = b"" + icac: 'typing.Union[Nullable, bytes]' = NullValue + fabricIndex: 'uint' = 0 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + class Commands: @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0204 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB + class AttestationRequest(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003E + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="attestationNonce", Tag=0, Type=bytes), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + attestationNonce: 'bytes' = b"" @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0204 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC + class AttestationResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003E + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="attestationElements", Tag=0, Type=bytes), + ClusterObjectFieldDescriptor(Label="signature", Tag=1, Type=bytes), + ]) - value: 'uint' = 0 + attestationElements: 'bytes' = b"" + signature: 'bytes' = b"" @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0204 + class CertificateChainRequest(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003E + command_id: typing.ClassVar[int] = 0x0002 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="certificateType", Tag=0, Type=uint), + ]) + + certificateType: 'uint' = 0 + + @dataclass + class CertificateChainResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003E + command_id: typing.ClassVar[int] = 0x0003 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="certificate", Tag=0, Type=bytes), + ]) - value: 'uint' = 0 + certificate: 'bytes' = b"" + @dataclass + class CSRRequest(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003E + command_id: typing.ClassVar[int] = 0x0004 + is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="CSRNonce", Tag=0, Type=bytes), + ClusterObjectFieldDescriptor(Label="isForUpdateNOC", Tag=1, Type=typing.Optional[bool]), + ]) -@dataclass -class ColorControl(Cluster): - id: typing.ClassVar[int] = 0x0300 + CSRNonce: 'bytes' = b"" + isForUpdateNOC: 'typing.Optional[bool]' = None - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="currentHue", Tag=0x00000000, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="currentSaturation", Tag=0x00000001, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="remainingTime", Tag=0x00000002, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="currentX", Tag=0x00000003, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="currentY", Tag=0x00000004, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="driftCompensation", Tag=0x00000005, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="compensationText", Tag=0x00000006, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="colorTemperature", Tag=0x00000007, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="colorMode", Tag=0x00000008, Type=uint), - ClusterObjectFieldDescriptor(Label="options", Tag=0x0000000F, Type=uint), - ClusterObjectFieldDescriptor(Label="numberOfPrimaries", Tag=0x00000010, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="primary1X", Tag=0x00000011, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="primary1Y", Tag=0x00000012, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="primary1Intensity", Tag=0x00000013, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="primary2X", Tag=0x00000015, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="primary2Y", Tag=0x00000016, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="primary2Intensity", Tag=0x00000017, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="primary3X", Tag=0x00000019, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="primary3Y", Tag=0x0000001A, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="primary3Intensity", Tag=0x0000001B, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="primary4X", Tag=0x00000020, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="primary4Y", Tag=0x00000021, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="primary4Intensity", Tag=0x00000022, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="primary5X", Tag=0x00000024, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="primary5Y", Tag=0x00000025, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="primary5Intensity", Tag=0x00000026, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="primary6X", Tag=0x00000028, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="primary6Y", Tag=0x00000029, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="primary6Intensity", Tag=0x0000002A, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="whitePointX", Tag=0x00000030, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="whitePointY", Tag=0x00000031, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="colorPointRX", Tag=0x00000032, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="colorPointRY", Tag=0x00000033, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="colorPointRIntensity", Tag=0x00000034, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="colorPointGX", Tag=0x00000036, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="colorPointGY", Tag=0x00000037, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="colorPointGIntensity", Tag=0x00000038, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="colorPointBX", Tag=0x0000003A, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="colorPointBY", Tag=0x0000003B, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="colorPointBIntensity", Tag=0x0000003C, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="enhancedCurrentHue", Tag=0x00004000, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="enhancedColorMode", Tag=0x00004001, Type=uint), - ClusterObjectFieldDescriptor(Label="colorLoopActive", Tag=0x00004002, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="colorLoopDirection", Tag=0x00004003, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="colorLoopTime", Tag=0x00004004, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="colorLoopStartEnhancedHue", Tag=0x00004005, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="colorLoopStoredEnhancedHue", Tag=0x00004006, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="colorCapabilities", Tag=0x0000400A, Type=uint), - ClusterObjectFieldDescriptor(Label="colorTempPhysicalMinMireds", Tag=0x0000400B, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="colorTempPhysicalMaxMireds", Tag=0x0000400C, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="coupleColorTempToLevelMinMireds", Tag=0x0000400D, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="startUpColorTemperatureMireds", Tag=0x00004010, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + @dataclass + class CSRResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003E + command_id: typing.ClassVar[int] = 0x0005 + is_client: typing.ClassVar[bool] = False - currentHue: 'typing.Optional[uint]' = None - currentSaturation: 'typing.Optional[uint]' = None - remainingTime: 'typing.Optional[uint]' = None - currentX: 'typing.Optional[uint]' = None - currentY: 'typing.Optional[uint]' = None - driftCompensation: 'typing.Optional[uint]' = None - compensationText: 'typing.Optional[str]' = None - colorTemperature: 'typing.Optional[uint]' = None - colorMode: 'uint' = None - options: 'uint' = None - numberOfPrimaries: 'typing.Union[Nullable, uint]' = None - primary1X: 'typing.Optional[uint]' = None - primary1Y: 'typing.Optional[uint]' = None - primary1Intensity: 'typing.Union[None, Nullable, uint]' = None - primary2X: 'typing.Optional[uint]' = None - primary2Y: 'typing.Optional[uint]' = None - primary2Intensity: 'typing.Union[None, Nullable, uint]' = None - primary3X: 'typing.Optional[uint]' = None - primary3Y: 'typing.Optional[uint]' = None - primary3Intensity: 'typing.Union[None, Nullable, uint]' = None - primary4X: 'typing.Optional[uint]' = None - primary4Y: 'typing.Optional[uint]' = None - primary4Intensity: 'typing.Union[None, Nullable, uint]' = None - primary5X: 'typing.Optional[uint]' = None - primary5Y: 'typing.Optional[uint]' = None - primary5Intensity: 'typing.Union[None, Nullable, uint]' = None - primary6X: 'typing.Optional[uint]' = None - primary6Y: 'typing.Optional[uint]' = None - primary6Intensity: 'typing.Union[None, Nullable, uint]' = None - whitePointX: 'typing.Optional[uint]' = None - whitePointY: 'typing.Optional[uint]' = None - colorPointRX: 'typing.Optional[uint]' = None - colorPointRY: 'typing.Optional[uint]' = None - colorPointRIntensity: 'typing.Union[None, Nullable, uint]' = None - colorPointGX: 'typing.Optional[uint]' = None - colorPointGY: 'typing.Optional[uint]' = None - colorPointGIntensity: 'typing.Union[None, Nullable, uint]' = None - colorPointBX: 'typing.Optional[uint]' = None - colorPointBY: 'typing.Optional[uint]' = None - colorPointBIntensity: 'typing.Union[None, Nullable, uint]' = None - enhancedCurrentHue: 'typing.Optional[uint]' = None - enhancedColorMode: 'uint' = None - colorLoopActive: 'typing.Optional[uint]' = None - colorLoopDirection: 'typing.Optional[uint]' = None - colorLoopTime: 'typing.Optional[uint]' = None - colorLoopStartEnhancedHue: 'typing.Optional[uint]' = None - colorLoopStoredEnhancedHue: 'typing.Optional[uint]' = None - colorCapabilities: 'uint' = None - colorTempPhysicalMinMireds: 'typing.Optional[uint]' = None - colorTempPhysicalMaxMireds: 'typing.Optional[uint]' = None - coupleColorTempToLevelMinMireds: 'typing.Optional[uint]' = None - startUpColorTemperatureMireds: 'typing.Optional[uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="NOCSRElements", Tag=0, Type=bytes), + ClusterObjectFieldDescriptor(Label="attestationSignature", Tag=1, Type=bytes), + ]) - class Enums: - class ColorLoopAction(IntEnum): - kDeactivate = 0x00 - kActivateFromColorLoopStartEnhancedHue = 0x01 - kActivateFromEnhancedCurrentHue = 0x02 + NOCSRElements: 'bytes' = b"" + attestationSignature: 'bytes' = b"" - class ColorLoopDirection(IntEnum): - kDecrementHue = 0x00 - kIncrementHue = 0x01 + @dataclass + class AddNOC(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003E + command_id: typing.ClassVar[int] = 0x0006 + is_client: typing.ClassVar[bool] = True - class ColorMode(IntEnum): - kCurrentHueAndCurrentSaturation = 0x00 - kCurrentXAndCurrentY = 0x01 - kColorTemperature = 0x02 + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="NOCValue", Tag=0, Type=bytes), + ClusterObjectFieldDescriptor(Label="ICACValue", Tag=1, Type=typing.Optional[bytes]), + ClusterObjectFieldDescriptor(Label="IPKValue", Tag=2, Type=bytes), + ClusterObjectFieldDescriptor(Label="caseAdminSubject", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="adminVendorId", Tag=4, Type=uint), + ]) - class HueDirection(IntEnum): - kShortestDistance = 0x00 - kLongestDistance = 0x01 - kUp = 0x02 - kDown = 0x03 + NOCValue: 'bytes' = b"" + ICACValue: 'typing.Optional[bytes]' = None + IPKValue: 'bytes' = b"" + caseAdminSubject: 'uint' = 0 + adminVendorId: 'uint' = 0 - class HueMoveMode(IntEnum): - kStop = 0x00 - kUp = 0x01 - kDown = 0x03 + @dataclass + class UpdateNOC(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003E + command_id: typing.ClassVar[int] = 0x0007 + is_client: typing.ClassVar[bool] = True - class HueStepMode(IntEnum): - kUp = 0x01 - kDown = 0x03 + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="NOCValue", Tag=0, Type=bytes), + ClusterObjectFieldDescriptor(Label="ICACValue", Tag=1, Type=typing.Optional[bytes]), + ]) - class SaturationMoveMode(IntEnum): - kStop = 0x00 - kUp = 0x01 - kDown = 0x03 + NOCValue: 'bytes' = b"" + ICACValue: 'typing.Optional[bytes]' = None - class SaturationStepMode(IntEnum): - kUp = 0x01 - kDown = 0x03 + @dataclass + class NOCResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003E + command_id: typing.ClassVar[int] = 0x0008 + is_client: typing.ClassVar[bool] = False + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="statusCode", Tag=0, Type=OperationalCredentials.Enums.OperationalCertStatus), + ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=1, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="debugText", Tag=2, Type=typing.Optional[str]), + ]) + statusCode: 'OperationalCredentials.Enums.OperationalCertStatus' = 0 + fabricIndex: 'typing.Optional[uint]' = None + debugText: 'typing.Optional[str]' = None - class Commands: @dataclass - class MoveToHue(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x0000 + class UpdateFabricLabel(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003E + command_id: typing.ClassVar[int] = 0x0009 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="hue", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="direction", Tag=1, Type=ColorControl.Enums.HueDirection), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="label", Tag=0, Type=str), ]) - hue: 'uint' = 0 - direction: 'ColorControl.Enums.HueDirection' = 0 - transitionTime: 'uint' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + label: 'str' = "" @dataclass - class MoveHue(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x0001 + class RemoveFabric(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003E + command_id: typing.ClassVar[int] = 0x000A is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=ColorControl.Enums.HueMoveMode), - ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=0, Type=uint), ]) - moveMode: 'ColorControl.Enums.HueMoveMode' = 0 - rate: 'uint' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + fabricIndex: 'uint' = 0 @dataclass - class StepHue(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x0002 + class AddTrustedRootCertificate(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003E + command_id: typing.ClassVar[int] = 0x000B is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=ColorControl.Enums.HueStepMode), - ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="rootCertificate", Tag=0, Type=bytes), ]) - stepMode: 'ColorControl.Enums.HueStepMode' = 0 - stepSize: 'uint' = 0 - transitionTime: 'uint' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + rootCertificate: 'bytes' = b"" + + class Attributes: @dataclass - class MoveToSaturation(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = True + class NOCs(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003E + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000000 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[OperationalCredentials.Structs.NOCStruct]) + + value: 'typing.List[OperationalCredentials.Structs.NOCStruct]' = field(default_factory=lambda: []) + + @dataclass + class Fabrics(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003E + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000001 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[OperationalCredentials.Structs.FabricDescriptor]) + + value: 'typing.List[OperationalCredentials.Structs.FabricDescriptor]' = field(default_factory=lambda: []) + + @dataclass + class SupportedFabrics(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003E + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000002 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 + + @dataclass + class CommissionedFabrics(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003E + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000003 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 + + @dataclass + class TrustedRootCertificates(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003E + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000004 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[bytes]) + + value: 'typing.List[bytes]' = field(default_factory=lambda: []) + + @dataclass + class CurrentFabricIndex(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003E + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 + + @dataclass + class GeneratedCommandList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003E + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFF8 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + + value: 'typing.List[uint]' = field(default_factory=lambda: []) + + @dataclass + class AcceptedCommandList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003E + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFF9 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="saturation", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint), - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - saturation: 'uint' = 0 - transitionTime: 'uint' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class MoveSaturation(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x0004 - is_client: typing.ClassVar[bool] = True + class AttributeList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003E @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=ColorControl.Enums.SaturationMoveMode), - ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x0000FFFB - moveMode: 'ColorControl.Enums.SaturationMoveMode' = 0 - rate: 'uint' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class StepSaturation(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x0005 - is_client: typing.ClassVar[bool] = True + class FeatureMap(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003E @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=ColorControl.Enums.SaturationStepMode), - ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x0000FFFC - stepMode: 'ColorControl.Enums.SaturationStepMode' = 0 - stepSize: 'uint' = 0 - transitionTime: 'uint' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 @dataclass - class MoveToHueAndSaturation(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x0006 - is_client: typing.ClassVar[bool] = True + class ClusterRevision(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003E @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="hue", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="saturation", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x0000FFFD - hue: 'uint' = 0 - saturation: 'uint' = 0 - transitionTime: 'uint' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) - @dataclass - class MoveToColor(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x0007 - is_client: typing.ClassVar[bool] = True + value: 'uint' = 0 - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="colorX", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="colorY", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), - ]) - colorX: 'uint' = 0 - colorY: 'uint' = 0 - transitionTime: 'uint' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 - @dataclass - class MoveColor(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x0008 - is_client: typing.ClassVar[bool] = True +@dataclass +class GroupKeyManagement(Cluster): + id: typing.ClassVar[int] = 0x003F + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="groupKeyMap", Tag=0x00000000, Type=typing.List[GroupKeyManagement.Structs.GroupKeyMapStruct]), + ClusterObjectFieldDescriptor(Label="groupTable", Tag=0x00000001, Type=typing.List[GroupKeyManagement.Structs.GroupInfoMapStruct]), + ClusterObjectFieldDescriptor(Label="maxGroupsPerFabric", Tag=0x00000002, Type=uint), + ClusterObjectFieldDescriptor(Label="maxGroupKeysPerFabric", Tag=0x00000003, Type=uint), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) + + groupKeyMap: 'typing.List[GroupKeyManagement.Structs.GroupKeyMapStruct]' = None + groupTable: 'typing.List[GroupKeyManagement.Structs.GroupInfoMapStruct]' = None + maxGroupsPerFabric: 'uint' = None + maxGroupKeysPerFabric: 'uint' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + class Enums: + class GroupKeySecurityPolicy(IntEnum): + kTrustFirst = 0x00 + kCacheAndSync = 0x01 + + + class Structs: + @dataclass + class GroupInfoMapStruct(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="rateX", Tag=0, Type=int), - ClusterObjectFieldDescriptor(Label="rateY", Tag=1, Type=int), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="endpoints", Tag=2, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="groupName", Tag=3, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint), ]) - rateX: 'int' = 0 - rateY: 'int' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + groupId: 'uint' = 0 + endpoints: 'typing.List[uint]' = field(default_factory=lambda: []) + groupName: 'typing.Optional[str]' = None + fabricIndex: 'uint' = 0 @dataclass - class StepColor(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x0009 - is_client: typing.ClassVar[bool] = True - + class GroupKeyMapStruct(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="stepX", Tag=0, Type=int), - ClusterObjectFieldDescriptor(Label="stepY", Tag=1, Type=int), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="groupId", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="groupKeySetID", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint), ]) - stepX: 'int' = 0 - stepY: 'int' = 0 - transitionTime: 'uint' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + groupId: 'uint' = 0 + groupKeySetID: 'uint' = 0 + fabricIndex: 'uint' = 0 @dataclass - class MoveToColorTemperature(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x000A - is_client: typing.ClassVar[bool] = True - + class GroupKeySetStruct(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="colorTemperature", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="groupKeySetID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="groupKeySecurityPolicy", Tag=1, Type=GroupKeyManagement.Enums.GroupKeySecurityPolicy), + ClusterObjectFieldDescriptor(Label="epochKey0", Tag=2, Type=typing.Union[Nullable, bytes]), + ClusterObjectFieldDescriptor(Label="epochStartTime0", Tag=3, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="epochKey1", Tag=4, Type=typing.Union[Nullable, bytes]), + ClusterObjectFieldDescriptor(Label="epochStartTime1", Tag=5, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="epochKey2", Tag=6, Type=typing.Union[Nullable, bytes]), + ClusterObjectFieldDescriptor(Label="epochStartTime2", Tag=7, Type=typing.Union[Nullable, uint]), ]) - colorTemperature: 'uint' = 0 - transitionTime: 'uint' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + groupKeySetID: 'uint' = 0 + groupKeySecurityPolicy: 'GroupKeyManagement.Enums.GroupKeySecurityPolicy' = 0 + epochKey0: 'typing.Union[Nullable, bytes]' = NullValue + epochStartTime0: 'typing.Union[Nullable, uint]' = NullValue + epochKey1: 'typing.Union[Nullable, bytes]' = NullValue + epochStartTime1: 'typing.Union[Nullable, uint]' = NullValue + epochKey2: 'typing.Union[Nullable, bytes]' = NullValue + epochStartTime2: 'typing.Union[Nullable, uint]' = NullValue + + + class Commands: @dataclass - class EnhancedMoveToHue(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x0040 + class KeySetWrite(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003F + command_id: typing.ClassVar[int] = 0x0000 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="enhancedHue", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="direction", Tag=1, Type=ColorControl.Enums.HueDirection), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="groupKeySet", Tag=0, Type=GroupKeyManagement.Structs.GroupKeySetStruct), ]) - enhancedHue: 'uint' = 0 - direction: 'ColorControl.Enums.HueDirection' = 0 - transitionTime: 'uint' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + groupKeySet: 'GroupKeyManagement.Structs.GroupKeySetStruct' = field(default_factory=lambda: GroupKeyManagement.Structs.GroupKeySetStruct()) @dataclass - class EnhancedMoveHue(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x0041 + class KeySetRead(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003F + command_id: typing.ClassVar[int] = 0x0001 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=ColorControl.Enums.HueMoveMode), - ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="groupKeySetID", Tag=0, Type=uint), ]) - moveMode: 'ColorControl.Enums.HueMoveMode' = 0 - rate: 'uint' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + groupKeySetID: 'uint' = 0 @dataclass - class EnhancedStepHue(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x0042 - is_client: typing.ClassVar[bool] = True + class KeySetReadResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003F + command_id: typing.ClassVar[int] = 0x0002 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=ColorControl.Enums.HueStepMode), - ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="groupKeySet", Tag=0, Type=GroupKeyManagement.Structs.GroupKeySetStruct), ]) - stepMode: 'ColorControl.Enums.HueStepMode' = 0 - stepSize: 'uint' = 0 - transitionTime: 'uint' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + groupKeySet: 'GroupKeyManagement.Structs.GroupKeySetStruct' = field(default_factory=lambda: GroupKeyManagement.Structs.GroupKeySetStruct()) @dataclass - class EnhancedMoveToHueAndSaturation(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x0043 + class KeySetRemove(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003F + command_id: typing.ClassVar[int] = 0x0003 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="enhancedHue", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="saturation", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="groupKeySetID", Tag=0, Type=uint), ]) - enhancedHue: 'uint' = 0 - saturation: 'uint' = 0 - transitionTime: 'uint' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + groupKeySetID: 'uint' = 0 @dataclass - class ColorLoopSet(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x0044 + class KeySetReadAllIndices(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003F + command_id: typing.ClassVar[int] = 0x0004 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="updateFlags", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="action", Tag=1, Type=ColorControl.Enums.ColorLoopAction), - ClusterObjectFieldDescriptor(Label="direction", Tag=2, Type=ColorControl.Enums.ColorLoopDirection), - ClusterObjectFieldDescriptor(Label="time", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="startHue", Tag=4, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=5, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=6, Type=uint), + ClusterObjectFieldDescriptor(Label="groupKeySetIDs", Tag=0, Type=typing.List[uint]), ]) - updateFlags: 'uint' = 0 - action: 'ColorControl.Enums.ColorLoopAction' = 0 - direction: 'ColorControl.Enums.ColorLoopDirection' = 0 - time: 'uint' = 0 - startHue: 'uint' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + groupKeySetIDs: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class StopMoveStep(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x0047 - is_client: typing.ClassVar[bool] = True + class KeySetReadAllIndicesResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x003F + command_id: typing.ClassVar[int] = 0x0005 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="groupKeySetIDs", Tag=0, Type=typing.List[uint]), ]) - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + groupKeySetIDs: 'typing.List[uint]' = field(default_factory=lambda: []) + + class Attributes: @dataclass - class MoveColorTemperature(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x004B - is_client: typing.ClassVar[bool] = True + class GroupKeyMap(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003F + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000000 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[GroupKeyManagement.Structs.GroupKeyMapStruct]) + + value: 'typing.List[GroupKeyManagement.Structs.GroupKeyMapStruct]' = field(default_factory=lambda: []) + + @dataclass + class GroupTable(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003F + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000001 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[GroupKeyManagement.Structs.GroupInfoMapStruct]) + + value: 'typing.List[GroupKeyManagement.Structs.GroupInfoMapStruct]' = field(default_factory=lambda: []) + + @dataclass + class MaxGroupsPerFabric(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003F + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000002 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 + + @dataclass + class MaxGroupKeysPerFabric(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003F + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000003 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 + + @dataclass + class GeneratedCommandList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003F + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFF8 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + + value: 'typing.List[uint]' = field(default_factory=lambda: []) + + @dataclass + class AcceptedCommandList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003F + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFF9 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + + value: 'typing.List[uint]' = field(default_factory=lambda: []) + + @dataclass + class AttributeList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003F + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFB + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + + value: 'typing.List[uint]' = field(default_factory=lambda: []) + + @dataclass + class FeatureMap(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003F + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFC + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 + + @dataclass + class ClusterRevision(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x003F + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFD + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 + + + +@dataclass +class FixedLabel(Cluster): + id: typing.ClassVar[int] = 0x0040 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="labelList", Tag=0x00000000, Type=typing.List[FixedLabel.Structs.LabelStruct]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) + + labelList: 'typing.List[FixedLabel.Structs.LabelStruct]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + + class Structs: + @dataclass + class LabelStruct(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=ColorControl.Enums.HueMoveMode), - ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="colorTemperatureMinimumMireds", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="colorTemperatureMaximumMireds", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=4, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=5, Type=uint), + ClusterObjectFieldDescriptor(Label="label", Tag=0, Type=str), + ClusterObjectFieldDescriptor(Label="value", Tag=1, Type=str), ]) - moveMode: 'ColorControl.Enums.HueMoveMode' = 0 - rate: 'uint' = 0 - colorTemperatureMinimumMireds: 'uint' = 0 - colorTemperatureMaximumMireds: 'uint' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + label: 'str' = "" + value: 'str' = "" + + + + class Attributes: @dataclass - class StepColorTemperature(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0300 - command_id: typing.ClassVar[int] = 0x004C - is_client: typing.ClassVar[bool] = True + class LabelList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0040 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=ColorControl.Enums.HueStepMode), - ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="colorTemperatureMinimumMireds", Tag=3, Type=uint), - ClusterObjectFieldDescriptor(Label="colorTemperatureMaximumMireds", Tag=4, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsMask", Tag=5, Type=uint), - ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=6, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x00000000 - stepMode: 'ColorControl.Enums.HueStepMode' = 0 - stepSize: 'uint' = 0 - transitionTime: 'uint' = 0 - colorTemperatureMinimumMireds: 'uint' = 0 - colorTemperatureMaximumMireds: 'uint' = 0 - optionsMask: 'uint' = 0 - optionsOverride: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[FixedLabel.Structs.LabelStruct]) + value: 'typing.List[FixedLabel.Structs.LabelStruct]' = field(default_factory=lambda: []) - class Attributes: @dataclass - class CurrentHue(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0040 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class CurrentSaturation(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0040 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class RemainingTime(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0040 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class CurrentX(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0040 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class CurrentY(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0040 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000004 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 + + + +@dataclass +class UserLabel(Cluster): + id: typing.ClassVar[int] = 0x0041 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="labelList", Tag=0x00000000, Type=typing.List[UserLabel.Structs.LabelStruct]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) + + labelList: 'typing.List[UserLabel.Structs.LabelStruct]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None - value: 'typing.Optional[uint]' = None + class Structs: @dataclass - class DriftCompensation(ClusterAttributeDescriptor): + class LabelStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="label", Tag=0, Type=str), + ClusterObjectFieldDescriptor(Label="value", Tag=1, Type=str), + ]) + + label: 'str' = "" + value: 'str' = "" + + + + + class Attributes: + @dataclass + class LabelList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0041 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000005 + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[UserLabel.Structs.LabelStruct]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[UserLabel.Structs.LabelStruct]' = field(default_factory=lambda: []) @dataclass - class CompensationText(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0041 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000006 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[str]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class ColorTemperature(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0041 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000007 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class ColorMode(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0041 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000008 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'uint' = 0 + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Options(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0041 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000000F + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -22149,478 +12065,661 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 @dataclass - class NumberOfPrimaries(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0041 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000010 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 + + + +@dataclass +class ProxyConfiguration(Cluster): + id: typing.ClassVar[int] = 0x0042 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) + + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None - value: 'typing.Union[Nullable, uint]' = NullValue + + + class Attributes: @dataclass - class Primary1X(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0042 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000011 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Primary1Y(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0042 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000012 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Primary1Intensity(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0042 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000013 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Primary2X(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0042 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000015 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class Primary2Y(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0042 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000016 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 + + + +@dataclass +class ProxyDiscovery(Cluster): + id: typing.ClassVar[int] = 0x0043 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) + + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + + + + class Attributes: @dataclass - class Primary2Intensity(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0043 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000017 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Primary3X(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0043 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000019 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Primary3Y(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0043 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000001A + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Primary3Intensity(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0043 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000001B + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'uint' = 0 @dataclass - class Primary4X(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0043 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000020 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 + + + +@dataclass +class ProxyValid(Cluster): + id: typing.ClassVar[int] = 0x0044 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) + + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + + - value: 'typing.Optional[uint]' = None + class Attributes: @dataclass - class Primary4Y(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0044 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000021 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Primary4Intensity(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0044 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000022 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Primary5X(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0044 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000024 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Primary5Y(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0044 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000025 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class Primary5Intensity(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0044 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000026 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'uint' = 0 + + + +@dataclass +class BooleanState(Cluster): + id: typing.ClassVar[int] = 0x0045 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="stateValue", Tag=0x00000000, Type=bool), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) + + stateValue: 'bool' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + + + + class Attributes: @dataclass - class Primary6X(ClusterAttributeDescriptor): + class StateValue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0045 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000028 + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=bool) - value: 'typing.Optional[uint]' = None + value: 'bool' = False @dataclass - class Primary6Y(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0045 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000029 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Primary6Intensity(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0045 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000002A + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class WhitePointX(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0045 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000030 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class WhitePointY(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0045 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000031 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class ColorPointRX(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0045 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000032 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 + + class Events: @dataclass - class ColorPointRY(ClusterAttributeDescriptor): + class StateChange(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0045 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000033 + def event_id(cls) -> int: + return 0x00000000 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="stateValue", Tag=0, Type=bool), + ]) + + stateValue: 'bool' = False + + +@dataclass +class ModeSelect(Cluster): + id: typing.ClassVar[int] = 0x0050 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="description", Tag=0x00000000, Type=str), + ClusterObjectFieldDescriptor(Label="standardNamespace", Tag=0x00000001, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="supportedModes", Tag=0x00000002, Type=typing.List[ModeSelect.Structs.ModeOptionStruct]), + ClusterObjectFieldDescriptor(Label="currentMode", Tag=0x00000003, Type=uint), + ClusterObjectFieldDescriptor(Label="startUpMode", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="onMode", Tag=0x00000005, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) + + description: 'str' = None + standardNamespace: 'typing.Union[Nullable, uint]' = None + supportedModes: 'typing.List[ModeSelect.Structs.ModeOptionStruct]' = None + currentMode: 'uint' = None + startUpMode: 'typing.Union[None, Nullable, uint]' = None + onMode: 'typing.Union[None, Nullable, uint]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None - value: 'typing.Optional[uint]' = None + class Structs: @dataclass - class ColorPointRIntensity(ClusterAttributeDescriptor): + class SemanticTag(ClusterObject): @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0300 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="mfgCode", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="value", Tag=1, Type=uint), + ]) + + mfgCode: 'uint' = 0 + value: 'uint' = 0 + @dataclass + class ModeOptionStruct(ClusterObject): @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000034 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="label", Tag=0, Type=str), + ClusterObjectFieldDescriptor(Label="mode", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="semanticTags", Tag=2, Type=typing.List[ModeSelect.Structs.SemanticTag]), + ]) + + label: 'str' = "" + mode: 'uint' = 0 + semanticTags: 'typing.List[ModeSelect.Structs.SemanticTag]' = field(default_factory=lambda: []) + + + + class Commands: + @dataclass + class ChangeToMode(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0050 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="newMode", Tag=0, Type=uint), + ]) + + newMode: 'uint' = 0 - value: 'typing.Union[None, Nullable, uint]' = None + class Attributes: @dataclass - class ColorPointGX(ClusterAttributeDescriptor): + class Description(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0050 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000036 + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=str) - value: 'typing.Optional[uint]' = None + value: 'str' = "" @dataclass - class ColorPointGY(ClusterAttributeDescriptor): + class StandardNamespace(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0050 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000037 + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class ColorPointGIntensity(ClusterAttributeDescriptor): + class SupportedModes(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0050 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000038 + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[ModeSelect.Structs.ModeOptionStruct]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.List[ModeSelect.Structs.ModeOptionStruct]' = field(default_factory=lambda: []) @dataclass - class ColorPointBX(ClusterAttributeDescriptor): + class CurrentMode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0050 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000003A + return 0x00000003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class ColorPointBY(ClusterAttributeDescriptor): + class StartUpMode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0050 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000003B + return 0x00000004 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class ColorPointBIntensity(ClusterAttributeDescriptor): + class OnMode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0050 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000003C + return 0x00000005 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -22629,735 +12728,1011 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class EnhancedCurrentHue(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0050 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00004000 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class EnhancedColorMode(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0050 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00004001 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'uint' = 0 + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class ColorLoopActive(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0050 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00004002 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class ColorLoopDirection(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0050 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00004003 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class ColorLoopTime(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0300 + return 0x0050 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00004004 + return 0x0000FFFD + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 + + + +@dataclass +class DoorLock(Cluster): + id: typing.ClassVar[int] = 0x0101 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="lockState", Tag=0x00000000, Type=typing.Union[Nullable, DoorLock.Enums.DlLockState]), + ClusterObjectFieldDescriptor(Label="lockType", Tag=0x00000001, Type=DoorLock.Enums.DlLockType), + ClusterObjectFieldDescriptor(Label="actuatorEnabled", Tag=0x00000002, Type=bool), + ClusterObjectFieldDescriptor(Label="doorState", Tag=0x00000003, Type=typing.Union[None, Nullable, DoorLock.Enums.DlDoorState]), + ClusterObjectFieldDescriptor(Label="doorOpenEvents", Tag=0x00000004, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="doorClosedEvents", Tag=0x00000005, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="openPeriod", Tag=0x00000006, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="numberOfTotalUsersSupported", Tag=0x00000011, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="numberOfPINUsersSupported", Tag=0x00000012, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="numberOfRFIDUsersSupported", Tag=0x00000013, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="numberOfWeekDaySchedulesSupportedPerUser", Tag=0x00000014, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="numberOfYearDaySchedulesSupportedPerUser", Tag=0x00000015, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="numberOfHolidaySchedulesSupported", Tag=0x00000016, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="maxPINCodeLength", Tag=0x00000017, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="minPINCodeLength", Tag=0x00000018, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="maxRFIDCodeLength", Tag=0x00000019, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="minRFIDCodeLength", Tag=0x0000001A, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="credentialRulesSupport", Tag=0x0000001B, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="numberOfCredentialsSupportedPerUser", Tag=0x0000001C, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="language", Tag=0x00000021, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="LEDSettings", Tag=0x00000022, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="autoRelockTime", Tag=0x00000023, Type=uint), + ClusterObjectFieldDescriptor(Label="soundVolume", Tag=0x00000024, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="operatingMode", Tag=0x00000025, Type=DoorLock.Enums.DlOperatingMode), + ClusterObjectFieldDescriptor(Label="supportedOperatingModes", Tag=0x00000026, Type=uint), + ClusterObjectFieldDescriptor(Label="defaultConfigurationRegister", Tag=0x00000027, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="enableLocalProgramming", Tag=0x00000028, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="enableOneTouchLocking", Tag=0x00000029, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="enableInsideStatusLED", Tag=0x0000002A, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="enablePrivacyModeButton", Tag=0x0000002B, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="localProgrammingFeatures", Tag=0x0000002C, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="wrongCodeEntryLimit", Tag=0x00000030, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="userCodeTemporaryDisableTime", Tag=0x00000031, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="sendPINOverTheAir", Tag=0x00000032, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="requirePINforRemoteOperation", Tag=0x00000033, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="expiringUserTimeout", Tag=0x00000035, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + lockState: 'typing.Union[Nullable, DoorLock.Enums.DlLockState]' = None + lockType: 'DoorLock.Enums.DlLockType' = None + actuatorEnabled: 'bool' = None + doorState: 'typing.Union[None, Nullable, DoorLock.Enums.DlDoorState]' = None + doorOpenEvents: 'typing.Optional[uint]' = None + doorClosedEvents: 'typing.Optional[uint]' = None + openPeriod: 'typing.Optional[uint]' = None + numberOfTotalUsersSupported: 'typing.Optional[uint]' = None + numberOfPINUsersSupported: 'typing.Optional[uint]' = None + numberOfRFIDUsersSupported: 'typing.Optional[uint]' = None + numberOfWeekDaySchedulesSupportedPerUser: 'typing.Optional[uint]' = None + numberOfYearDaySchedulesSupportedPerUser: 'typing.Optional[uint]' = None + numberOfHolidaySchedulesSupported: 'typing.Optional[uint]' = None + maxPINCodeLength: 'typing.Optional[uint]' = None + minPINCodeLength: 'typing.Optional[uint]' = None + maxRFIDCodeLength: 'typing.Optional[uint]' = None + minRFIDCodeLength: 'typing.Optional[uint]' = None + credentialRulesSupport: 'typing.Optional[uint]' = None + numberOfCredentialsSupportedPerUser: 'typing.Optional[uint]' = None + language: 'typing.Optional[str]' = None + LEDSettings: 'typing.Optional[uint]' = None + autoRelockTime: 'uint' = None + soundVolume: 'typing.Optional[uint]' = None + operatingMode: 'DoorLock.Enums.DlOperatingMode' = None + supportedOperatingModes: 'uint' = None + defaultConfigurationRegister: 'typing.Optional[uint]' = None + enableLocalProgramming: 'typing.Optional[bool]' = None + enableOneTouchLocking: 'typing.Optional[bool]' = None + enableInsideStatusLED: 'typing.Optional[bool]' = None + enablePrivacyModeButton: 'typing.Optional[bool]' = None + localProgrammingFeatures: 'typing.Optional[uint]' = None + wrongCodeEntryLimit: 'typing.Optional[uint]' = None + userCodeTemporaryDisableTime: 'typing.Optional[uint]' = None + sendPINOverTheAir: 'typing.Optional[bool]' = None + requirePINforRemoteOperation: 'typing.Optional[bool]' = None + expiringUserTimeout: 'typing.Optional[uint]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None - value: 'typing.Optional[uint]' = None + class Enums: + class DlAlarmCode(IntEnum): + kLockJammed = 0x00 + kLockFactoryReset = 0x01 + kLockRadioPowerCycled = 0x03 + kWrongCodeEntryLimit = 0x04 + kFrontEsceutcheonRemoved = 0x05 + kDoorForcedOpen = 0x06 + kDoorAjar = 0x07 + kForcedUser = 0x08 - @dataclass - class ColorLoopStartEnhancedHue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0300 + class DlCredentialRule(IntEnum): + kSingle = 0x00 + kDouble = 0x01 + kTri = 0x02 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00004005 + class DlCredentialType(IntEnum): + kProgrammingPIN = 0x00 + kPin = 0x01 + kRfid = 0x02 + kFingerprint = 0x03 + kFingerVein = 0x04 + kFace = 0x05 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + class DlDataOperationType(IntEnum): + kAdd = 0x00 + kClear = 0x01 + kModify = 0x02 - value: 'typing.Optional[uint]' = None + class DlDoorState(IntEnum): + kDoorOpen = 0x00 + kDoorClosed = 0x01 + kDoorJammed = 0x02 + kDoorForcedOpen = 0x03 + kDoorUnspecifiedError = 0x04 + kDoorAjar = 0x05 - @dataclass - class ColorLoopStoredEnhancedHue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0300 + class DlLockDataType(IntEnum): + kUnspecified = 0x00 + kProgrammingCode = 0x01 + kUserIndex = 0x02 + kWeekDaySchedule = 0x03 + kYearDaySchedule = 0x04 + kHolidaySchedule = 0x05 + kPin = 0x06 + kRfid = 0x07 + kFingerprint = 0x08 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00004006 + class DlLockOperationType(IntEnum): + kLock = 0x00 + kUnlock = 0x01 + kNonAccessUserEvent = 0x02 + kForcedUserEvent = 0x03 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + class DlLockState(IntEnum): + kNotFullyLocked = 0x00 + kLocked = 0x01 + kUnlocked = 0x02 - value: 'typing.Optional[uint]' = None + class DlLockType(IntEnum): + kDeadBolt = 0x00 + kMagnetic = 0x01 + kOther = 0x02 + kMortise = 0x03 + kRim = 0x04 + kLatchBolt = 0x05 + kCylindricalLock = 0x06 + kTubularLock = 0x07 + kInterconnectedLock = 0x08 + kDeadLatch = 0x09 + kDoorFurniture = 0x0A - @dataclass - class ColorCapabilities(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0300 + class DlOperatingMode(IntEnum): + kNormal = 0x00 + kVacation = 0x01 + kPrivacy = 0x02 + kNoRemoteLockUnlock = 0x03 + kPassage = 0x04 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000400A + class DlOperationError(IntEnum): + kUnspecified = 0x00 + kInvalidCredential = 0x01 + kDisabledUserDenied = 0x02 + kRestricted = 0x03 + kInsufficientBattery = 0x04 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + class DlOperationSource(IntEnum): + kUnspecified = 0x00 + kManual = 0x01 + kProprietaryRemote = 0x02 + kKeypad = 0x03 + kAuto = 0x04 + kButton = 0x05 + kSchedule = 0x06 + kRemote = 0x07 + kRfid = 0x08 + kBiometric = 0x09 - value: 'uint' = 0 + class DlStatus(IntEnum): + kSuccess = 0x00 + kFailure = 0x01 + kDuplicate = 0x02 + kOccupied = 0x03 + kInvalidField = 0x85 + kResourceExhausted = 0x89 + kNotFound = 0x8B - @dataclass - class ColorTempPhysicalMinMireds(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0300 + class DlUserStatus(IntEnum): + kAvailable = 0x00 + kOccupiedEnabled = 0x01 + kOccupiedDisabled = 0x03 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000400B + class DlUserType(IntEnum): + kUnrestrictedUser = 0x00 + kYearDayScheduleUser = 0x01 + kWeekDayScheduleUser = 0x02 + kProgrammingUser = 0x03 + kNonAccessUser = 0x04 + kForcedUser = 0x05 + kDisposableUser = 0x06 + kExpiringUser = 0x07 + kScheduleRestrictedUser = 0x08 + kRemoteOnlyUser = 0x09 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + class DoorLockOperationEventCode(IntEnum): + kUnknownOrMfgSpecific = 0x00 + kLock = 0x01 + kUnlock = 0x02 + kLockInvalidPinOrId = 0x03 + kLockInvalidSchedule = 0x04 + kUnlockInvalidPinOrId = 0x05 + kUnlockInvalidSchedule = 0x06 + kOneTouchLock = 0x07 + kKeyLock = 0x08 + kKeyUnlock = 0x09 + kAutoLock = 0x0A + kScheduleLock = 0x0B + kScheduleUnlock = 0x0C + kManualLock = 0x0D + kManualUnlock = 0x0E - value: 'typing.Optional[uint]' = None + class DoorLockProgrammingEventCode(IntEnum): + kUnknownOrMfgSpecific = 0x00 + kMasterCodeChanged = 0x01 + kPinAdded = 0x02 + kPinDeleted = 0x03 + kPinChanged = 0x04 + kIdAdded = 0x05 + kIdDeleted = 0x06 - @dataclass - class ColorTempPhysicalMaxMireds(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0300 + class DoorLockSetPinOrIdStatus(IntEnum): + kSuccess = 0x00 + kGeneralFailure = 0x01 + kMemoryFull = 0x02 + kDuplicateCodeError = 0x03 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000400C + class DoorLockUserStatus(IntEnum): + kAvailable = 0x00 + kOccupiedEnabled = 0x01 + kOccupiedDisabled = 0x03 + kNotSupported = 0xFF - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + class DoorLockUserType(IntEnum): + kUnrestricted = 0x00 + kYearDayScheduleUser = 0x01 + kWeekDayScheduleUser = 0x02 + kMasterUser = 0x03 + kNonAccessUser = 0x04 + kNotSupported = 0xFF - value: 'typing.Optional[uint]' = None + class Structs: @dataclass - class CoupleColorTempToLevelMinMireds(ClusterAttributeDescriptor): + class DlCredential(ClusterObject): @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0300 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="credentialType", Tag=0, Type=DoorLock.Enums.DlCredentialType), + ClusterObjectFieldDescriptor(Label="credentialIndex", Tag=1, Type=uint), + ]) - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000400D + credentialType: 'DoorLock.Enums.DlCredentialType' = 0 + credentialIndex: 'uint' = 0 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[uint]' = None + class Commands: @dataclass - class StartUpColorTemperatureMireds(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0300 + class LockDoor(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00004010 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="pinCode", Tag=0, Type=typing.Optional[bytes]), + ]) @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def must_use_timed_invoke(cls) -> bool: + return True - value: 'typing.Optional[uint]' = None + pinCode: 'typing.Optional[bytes]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0300 + class UnlockDoor(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="pinCode", Tag=0, Type=typing.Optional[bytes]), + ]) @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def must_use_timed_invoke(cls) -> bool: + return True - value: 'typing.List[uint]' = field(default_factory=lambda: []) + pinCode: 'typing.Optional[bytes]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0300 + class UnlockWithTimeout(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x0003 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="timeout", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="pinCode", Tag=1, Type=typing.Optional[bytes]), + ]) @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def must_use_timed_invoke(cls) -> bool: + return True - value: 'typing.List[uint]' = field(default_factory=lambda: []) + timeout: 'uint' = 0 + pinCode: 'typing.Optional[bytes]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0300 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB + class SetWeekDaySchedule(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x000B + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="weekDayIndex", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="daysMask", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="startHour", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="startMinute", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="endHour", Tag=5, Type=uint), + ClusterObjectFieldDescriptor(Label="endMinute", Tag=6, Type=uint), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + weekDayIndex: 'uint' = 0 + userIndex: 'uint' = 0 + daysMask: 'uint' = 0 + startHour: 'uint' = 0 + startMinute: 'uint' = 0 + endHour: 'uint' = 0 + endMinute: 'uint' = 0 @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0300 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC + class GetWeekDaySchedule(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x000C + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="weekDayIndex", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), + ]) - value: 'uint' = 0 + weekDayIndex: 'uint' = 0 + userIndex: 'uint' = 0 @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0300 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD + class GetWeekDayScheduleResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x000C + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class BallastConfiguration(Cluster): - id: typing.ClassVar[int] = 0x0301 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="physicalMinLevel", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="physicalMaxLevel", Tag=0x00000001, Type=uint), - ClusterObjectFieldDescriptor(Label="ballastStatus", Tag=0x00000002, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="minLevel", Tag=0x00000010, Type=uint), - ClusterObjectFieldDescriptor(Label="maxLevel", Tag=0x00000011, Type=uint), - ClusterObjectFieldDescriptor(Label="intrinsicBalanceFactor", Tag=0x00000014, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="ballastFactorAdjustment", Tag=0x00000015, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="lampQuantity", Tag=0x00000020, Type=uint), - ClusterObjectFieldDescriptor(Label="lampType", Tag=0x00000030, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="lampManufacturer", Tag=0x00000031, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="lampRatedHours", Tag=0x00000032, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="lampBurnHours", Tag=0x00000033, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="lampAlarmMode", Tag=0x00000034, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="lampBurnHoursTripPoint", Tag=0x00000035, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="weekDayIndex", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="status", Tag=2, Type=DoorLock.Enums.DlStatus), + ClusterObjectFieldDescriptor(Label="daysMask", Tag=3, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="startHour", Tag=4, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="startMinute", Tag=5, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="endHour", Tag=6, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="endMinute", Tag=7, Type=typing.Optional[uint]), + ]) - physicalMinLevel: 'uint' = None - physicalMaxLevel: 'uint' = None - ballastStatus: 'typing.Optional[uint]' = None - minLevel: 'uint' = None - maxLevel: 'uint' = None - intrinsicBalanceFactor: 'typing.Union[None, Nullable, uint]' = None - ballastFactorAdjustment: 'typing.Union[None, Nullable, uint]' = None - lampQuantity: 'uint' = None - lampType: 'typing.Optional[str]' = None - lampManufacturer: 'typing.Optional[str]' = None - lampRatedHours: 'typing.Union[None, Nullable, uint]' = None - lampBurnHours: 'typing.Union[None, Nullable, uint]' = None - lampAlarmMode: 'typing.Optional[uint]' = None - lampBurnHoursTripPoint: 'typing.Union[None, Nullable, uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + weekDayIndex: 'uint' = 0 + userIndex: 'uint' = 0 + status: 'DoorLock.Enums.DlStatus' = 0 + daysMask: 'typing.Optional[uint]' = None + startHour: 'typing.Optional[uint]' = None + startMinute: 'typing.Optional[uint]' = None + endHour: 'typing.Optional[uint]' = None + endMinute: 'typing.Optional[uint]' = None + @dataclass + class ClearWeekDaySchedule(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x000D + is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="weekDayIndex", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), + ]) + weekDayIndex: 'uint' = 0 + userIndex: 'uint' = 0 - class Attributes: @dataclass - class PhysicalMinLevel(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0301 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 + class SetYearDaySchedule(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x000E + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="yearDayIndex", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="localStartTime", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="localEndTime", Tag=3, Type=uint), + ]) - value: 'uint' = 0 + yearDayIndex: 'uint' = 0 + userIndex: 'uint' = 0 + localStartTime: 'uint' = 0 + localEndTime: 'uint' = 0 @dataclass - class PhysicalMaxLevel(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0301 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 + class GetYearDaySchedule(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x000F + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="yearDayIndex", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), + ]) - value: 'uint' = 0 + yearDayIndex: 'uint' = 0 + userIndex: 'uint' = 0 @dataclass - class BallastStatus(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0301 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 + class GetYearDayScheduleResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x000F + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="yearDayIndex", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="status", Tag=2, Type=DoorLock.Enums.DlStatus), + ClusterObjectFieldDescriptor(Label="localStartTime", Tag=3, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="localEndTime", Tag=4, Type=typing.Optional[uint]), + ]) - value: 'typing.Optional[uint]' = None + yearDayIndex: 'uint' = 0 + userIndex: 'uint' = 0 + status: 'DoorLock.Enums.DlStatus' = 0 + localStartTime: 'typing.Optional[uint]' = None + localEndTime: 'typing.Optional[uint]' = None @dataclass - class MinLevel(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0301 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000010 + class ClearYearDaySchedule(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x0010 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="yearDayIndex", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), + ]) - value: 'uint' = 0 + yearDayIndex: 'uint' = 0 + userIndex: 'uint' = 0 @dataclass - class MaxLevel(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0301 + class SetHolidaySchedule(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x0011 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000011 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="holidayIndex", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="localStartTime", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="localEndTime", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="operatingMode", Tag=3, Type=DoorLock.Enums.DlOperatingMode), + ]) + + holidayIndex: 'uint' = 0 + localStartTime: 'uint' = 0 + localEndTime: 'uint' = 0 + operatingMode: 'DoorLock.Enums.DlOperatingMode' = 0 + + @dataclass + class GetHolidaySchedule(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x0012 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="holidayIndex", Tag=0, Type=uint), + ]) - value: 'uint' = 0 + holidayIndex: 'uint' = 0 @dataclass - class IntrinsicBalanceFactor(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0301 + class GetHolidayScheduleResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x0012 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000014 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="holidayIndex", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="status", Tag=1, Type=DoorLock.Enums.DlStatus), + ClusterObjectFieldDescriptor(Label="localStartTime", Tag=2, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="localEndTime", Tag=3, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="operatingMode", Tag=4, Type=typing.Optional[DoorLock.Enums.DlOperatingMode]), + ]) + + holidayIndex: 'uint' = 0 + status: 'DoorLock.Enums.DlStatus' = 0 + localStartTime: 'typing.Optional[uint]' = None + localEndTime: 'typing.Optional[uint]' = None + operatingMode: 'typing.Optional[DoorLock.Enums.DlOperatingMode]' = None + + @dataclass + class ClearHolidaySchedule(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x0013 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="holidayIndex", Tag=0, Type=uint), + ]) - value: 'typing.Union[None, Nullable, uint]' = None + holidayIndex: 'uint' = 0 @dataclass - class BallastFactorAdjustment(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0301 + class SetUser(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x001A + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000015 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="operationType", Tag=0, Type=DoorLock.Enums.DlDataOperationType), + ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="userName", Tag=2, Type=typing.Union[Nullable, str]), + ClusterObjectFieldDescriptor(Label="userUniqueId", Tag=3, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="userStatus", Tag=4, Type=typing.Union[Nullable, DoorLock.Enums.DlUserStatus]), + ClusterObjectFieldDescriptor(Label="userType", Tag=5, Type=typing.Union[Nullable, DoorLock.Enums.DlUserType]), + ClusterObjectFieldDescriptor(Label="credentialRule", Tag=6, Type=typing.Union[Nullable, DoorLock.Enums.DlCredentialRule]), + ]) @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + def must_use_timed_invoke(cls) -> bool: + return True - value: 'typing.Union[None, Nullable, uint]' = None + operationType: 'DoorLock.Enums.DlDataOperationType' = 0 + userIndex: 'uint' = 0 + userName: 'typing.Union[Nullable, str]' = NullValue + userUniqueId: 'typing.Union[Nullable, uint]' = NullValue + userStatus: 'typing.Union[Nullable, DoorLock.Enums.DlUserStatus]' = NullValue + userType: 'typing.Union[Nullable, DoorLock.Enums.DlUserType]' = NullValue + credentialRule: 'typing.Union[Nullable, DoorLock.Enums.DlCredentialRule]' = NullValue @dataclass - class LampQuantity(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0301 + class GetUser(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x001B + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000020 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="userIndex", Tag=0, Type=uint), + ]) + + userIndex: 'uint' = 0 + + @dataclass + class GetUserResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x001C + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="userIndex", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="userName", Tag=1, Type=typing.Union[Nullable, str]), + ClusterObjectFieldDescriptor(Label="userUniqueId", Tag=2, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="userStatus", Tag=3, Type=typing.Union[Nullable, DoorLock.Enums.DlUserStatus]), + ClusterObjectFieldDescriptor(Label="userType", Tag=4, Type=typing.Union[Nullable, DoorLock.Enums.DlUserType]), + ClusterObjectFieldDescriptor(Label="credentialRule", Tag=5, Type=typing.Union[Nullable, DoorLock.Enums.DlCredentialRule]), + ClusterObjectFieldDescriptor(Label="credentials", Tag=6, Type=typing.Union[Nullable, typing.List[DoorLock.Structs.DlCredential]]), + ClusterObjectFieldDescriptor(Label="creatorFabricIndex", Tag=7, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="lastModifiedFabricIndex", Tag=8, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="nextUserIndex", Tag=9, Type=typing.Union[Nullable, uint]), + ]) - value: 'uint' = 0 + userIndex: 'uint' = 0 + userName: 'typing.Union[Nullable, str]' = NullValue + userUniqueId: 'typing.Union[Nullable, uint]' = NullValue + userStatus: 'typing.Union[Nullable, DoorLock.Enums.DlUserStatus]' = NullValue + userType: 'typing.Union[Nullable, DoorLock.Enums.DlUserType]' = NullValue + credentialRule: 'typing.Union[Nullable, DoorLock.Enums.DlCredentialRule]' = NullValue + credentials: 'typing.Union[Nullable, typing.List[DoorLock.Structs.DlCredential]]' = NullValue + creatorFabricIndex: 'typing.Union[Nullable, uint]' = NullValue + lastModifiedFabricIndex: 'typing.Union[Nullable, uint]' = NullValue + nextUserIndex: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class LampType(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0301 + class ClearUser(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x001D + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000030 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="userIndex", Tag=0, Type=uint), + ]) @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + def must_use_timed_invoke(cls) -> bool: + return True - value: 'typing.Optional[str]' = None + userIndex: 'uint' = 0 @dataclass - class LampManufacturer(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0301 + class SetCredential(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x0022 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000031 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="operationType", Tag=0, Type=DoorLock.Enums.DlDataOperationType), + ClusterObjectFieldDescriptor(Label="credential", Tag=1, Type=DoorLock.Structs.DlCredential), + ClusterObjectFieldDescriptor(Label="credentialData", Tag=2, Type=bytes), + ClusterObjectFieldDescriptor(Label="userIndex", Tag=3, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="userStatus", Tag=4, Type=typing.Union[Nullable, DoorLock.Enums.DlUserStatus]), + ClusterObjectFieldDescriptor(Label="userType", Tag=5, Type=typing.Union[Nullable, DoorLock.Enums.DlUserType]), + ]) @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + def must_use_timed_invoke(cls) -> bool: + return True - value: 'typing.Optional[str]' = None + operationType: 'DoorLock.Enums.DlDataOperationType' = 0 + credential: 'DoorLock.Structs.DlCredential' = field(default_factory=lambda: DoorLock.Structs.DlCredential()) + credentialData: 'bytes' = b"" + userIndex: 'typing.Union[Nullable, uint]' = NullValue + userStatus: 'typing.Union[Nullable, DoorLock.Enums.DlUserStatus]' = NullValue + userType: 'typing.Union[Nullable, DoorLock.Enums.DlUserType]' = NullValue @dataclass - class LampRatedHours(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0301 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000032 + class SetCredentialResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x0023 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=DoorLock.Enums.DlStatus), + ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="nextCredentialIndex", Tag=2, Type=typing.Union[Nullable, uint]), + ]) - value: 'typing.Union[None, Nullable, uint]' = None + status: 'DoorLock.Enums.DlStatus' = 0 + userIndex: 'typing.Union[Nullable, uint]' = NullValue + nextCredentialIndex: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class LampBurnHours(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0301 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000033 + class GetCredentialStatus(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x0024 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="credential", Tag=0, Type=DoorLock.Structs.DlCredential), + ]) - value: 'typing.Union[None, Nullable, uint]' = None + credential: 'DoorLock.Structs.DlCredential' = field(default_factory=lambda: DoorLock.Structs.DlCredential()) @dataclass - class LampAlarmMode(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0301 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000034 + class GetCredentialStatusResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x0025 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="credentialExists", Tag=0, Type=bool), + ClusterObjectFieldDescriptor(Label="userIndex", Tag=1, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="creatorFabricIndex", Tag=2, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="lastModifiedFabricIndex", Tag=3, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="nextCredentialIndex", Tag=4, Type=typing.Union[Nullable, uint]), + ]) - value: 'typing.Optional[uint]' = None + credentialExists: 'bool' = False + userIndex: 'typing.Union[Nullable, uint]' = NullValue + creatorFabricIndex: 'typing.Union[Nullable, uint]' = NullValue + lastModifiedFabricIndex: 'typing.Union[Nullable, uint]' = NullValue + nextCredentialIndex: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class LampBurnHoursTripPoint(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0301 + class ClearCredential(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0101 + command_id: typing.ClassVar[int] = 0x0026 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000035 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="credential", Tag=0, Type=typing.Union[Nullable, DoorLock.Structs.DlCredential]), + ]) @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + def must_use_timed_invoke(cls) -> bool: + return True + + credential: 'typing.Union[Nullable, DoorLock.Structs.DlCredential]' = NullValue - value: 'typing.Union[None, Nullable, uint]' = None + class Attributes: @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class LockState(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0301 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, DoorLock.Enums.DlLockState]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[Nullable, DoorLock.Enums.DlLockState]' = NullValue @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class LockType(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0301 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=DoorLock.Enums.DlLockType) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'DoorLock.Enums.DlLockType' = 0 @dataclass - class AttributeList(ClusterAttributeDescriptor): + class ActuatorEnabled(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0301 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=bool) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'bool' = False @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class DoorState(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0301 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, DoorLock.Enums.DlDoorState]) - value: 'uint' = 0 + value: 'typing.Union[None, Nullable, DoorLock.Enums.DlDoorState]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class DoorOpenEvents(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0301 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000004 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class IlluminanceMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0400 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="lightSensorType", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - measuredValue: 'typing.Union[Nullable, uint]' = None - minMeasuredValue: 'typing.Union[Nullable, uint]' = None - maxMeasuredValue: 'typing.Union[Nullable, uint]' = None - tolerance: 'typing.Optional[uint]' = None - lightSensorType: 'typing.Union[None, Nullable, uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - class Enums: - class LightSensorType(IntEnum): - kPhotodiode = 0x00 - kCmos = 0x01 - - + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class DoorClosedEvents(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0400 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000005 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[Nullable, uint]' = NullValue + value: 'typing.Optional[uint]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class OpenPeriod(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0400 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000006 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[Nullable, uint]' = NullValue + value: 'typing.Optional[uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class NumberOfTotalUsersSupported(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0400 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000011 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[Nullable, uint]' = NullValue + value: 'typing.Optional[uint]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class NumberOfPINUsersSupported(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0400 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00000012 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -23366,273 +13741,254 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Optional[uint]' = None @dataclass - class LightSensorType(ClusterAttributeDescriptor): + class NumberOfRFIDUsersSupported(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0400 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000004 + return 0x00000013 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.Optional[uint]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class NumberOfWeekDaySchedulesSupportedPerUser(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0400 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000014 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class NumberOfYearDaySchedulesSupportedPerUser(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0400 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000015 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class NumberOfHolidaySchedulesSupported(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0400 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000016 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class MaxPINCodeLength(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0400 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000017 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'uint' = 0 + value: 'typing.Optional[uint]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class MinPINCodeLength(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0400 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000018 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class TemperatureMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0402 + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=typing.Union[Nullable, int]), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=typing.Union[Nullable, int]), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=typing.Union[Nullable, int]), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + value: 'typing.Optional[uint]' = None - measuredValue: 'typing.Union[Nullable, int]' = None - minMeasuredValue: 'typing.Union[Nullable, int]' = None - maxMeasuredValue: 'typing.Union[Nullable, int]' = None - tolerance: 'typing.Optional[uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @dataclass + class MaxRFIDCodeLength(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0101 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000019 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class MinRFIDCodeLength(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0402 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x0000001A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[Nullable, int]' = NullValue + value: 'typing.Optional[uint]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class CredentialRulesSupport(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0402 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x0000001B @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[Nullable, int]' = NullValue + value: 'typing.Optional[uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class NumberOfCredentialsSupportedPerUser(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0402 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x0000001C @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[Nullable, int]' = NullValue + value: 'typing.Optional[uint]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class Language(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0402 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00000021 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'typing.Optional[uint]' = None + value: 'typing.Optional[str]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class LEDSettings(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0402 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000022 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class AutoRelockTime(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0402 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000023 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'uint' = 0 @dataclass - class AttributeList(ClusterAttributeDescriptor): + class SoundVolume(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0402 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000024 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class OperatingMode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0402 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000025 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=DoorLock.Enums.DlOperatingMode) - value: 'uint' = 0 + value: 'DoorLock.Enums.DlOperatingMode' = 0 @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class SupportedOperatingModes(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0402 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000026 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -23640,108 +13996,95 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 + @dataclass + class DefaultConfigurationRegister(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0101 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000027 -@dataclass -class PressureMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0403 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=typing.Union[Nullable, int]), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=typing.Union[Nullable, int]), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=typing.Union[Nullable, int]), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="scaledValue", Tag=0x00000010, Type=typing.Union[None, Nullable, int]), - ClusterObjectFieldDescriptor(Label="minScaledValue", Tag=0x00000011, Type=typing.Union[None, Nullable, int]), - ClusterObjectFieldDescriptor(Label="maxScaledValue", Tag=0x00000012, Type=typing.Union[None, Nullable, int]), - ClusterObjectFieldDescriptor(Label="scaledTolerance", Tag=0x00000013, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="scale", Tag=0x00000014, Type=typing.Optional[int]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - measuredValue: 'typing.Union[Nullable, int]' = None - minMeasuredValue: 'typing.Union[Nullable, int]' = None - maxMeasuredValue: 'typing.Union[Nullable, int]' = None - tolerance: 'typing.Optional[uint]' = None - scaledValue: 'typing.Union[None, Nullable, int]' = None - minScaledValue: 'typing.Union[None, Nullable, int]' = None - maxScaledValue: 'typing.Union[None, Nullable, int]' = None - scaledTolerance: 'typing.Optional[uint]' = None - scale: 'typing.Optional[int]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None + @dataclass + class EnableLocalProgramming(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0101 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000028 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class EnableOneTouchLocking(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0403 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000029 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) - value: 'typing.Union[Nullable, int]' = NullValue + value: 'typing.Optional[bool]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class EnableInsideStatusLED(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0403 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x0000002A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) - value: 'typing.Union[Nullable, int]' = NullValue + value: 'typing.Optional[bool]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class EnablePrivacyModeButton(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0403 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x0000002B @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) - value: 'typing.Union[Nullable, int]' = NullValue + value: 'typing.Optional[bool]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class LocalProgrammingFeatures(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0403 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x0000002C @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -23750,90 +14093,90 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Optional[uint]' = None @dataclass - class ScaledValue(ClusterAttributeDescriptor): + class WrongCodeEntryLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0403 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000010 + return 0x00000030 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[None, Nullable, int]' = None + value: 'typing.Optional[uint]' = None @dataclass - class MinScaledValue(ClusterAttributeDescriptor): + class UserCodeTemporaryDisableTime(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0403 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000011 + return 0x00000031 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[None, Nullable, int]' = None + value: 'typing.Optional[uint]' = None @dataclass - class MaxScaledValue(ClusterAttributeDescriptor): + class SendPINOverTheAir(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0403 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000012 + return 0x00000032 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) - value: 'typing.Union[None, Nullable, int]' = None + value: 'typing.Optional[bool]' = None @dataclass - class ScaledTolerance(ClusterAttributeDescriptor): + class RequirePINforRemoteOperation(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0403 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000013 + return 0x00000033 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) - value: 'typing.Optional[uint]' = None + value: 'typing.Optional[bool]' = None @dataclass - class Scale(ClusterAttributeDescriptor): + class ExpiringUserTimeout(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0403 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000014 + return 0x00000035 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[int]' = None + value: 'typing.Optional[uint]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0403 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -23849,7 +14192,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0403 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -23865,7 +14208,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0403 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -23881,7 +14224,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0403 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -23897,7 +14240,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0403 + return 0x0101 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -23910,19 +14253,167 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 + class Events: + @dataclass + class DoorLockAlarm(ClusterEvent): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0101 + + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000000 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="alarmCode", Tag=0, Type=DoorLock.Enums.DlAlarmCode), + ]) + + alarmCode: 'DoorLock.Enums.DlAlarmCode' = 0 + + @dataclass + class DoorStateChange(ClusterEvent): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0101 + + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000001 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="doorState", Tag=0, Type=DoorLock.Enums.DlDoorState), + ]) + + doorState: 'DoorLock.Enums.DlDoorState' = 0 + + @dataclass + class LockOperation(ClusterEvent): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0101 + + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000002 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="lockOperationType", Tag=0, Type=DoorLock.Enums.DlLockOperationType), + ClusterObjectFieldDescriptor(Label="operationSource", Tag=1, Type=DoorLock.Enums.DlOperationSource), + ClusterObjectFieldDescriptor(Label="userIndex", Tag=2, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=3, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="sourceNode", Tag=4, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="credentials", Tag=5, Type=typing.Union[None, Nullable, typing.List[DoorLock.Structs.DlCredential]]), + ]) + + lockOperationType: 'DoorLock.Enums.DlLockOperationType' = 0 + operationSource: 'DoorLock.Enums.DlOperationSource' = 0 + userIndex: 'typing.Union[Nullable, uint]' = NullValue + fabricIndex: 'typing.Union[Nullable, uint]' = NullValue + sourceNode: 'typing.Union[Nullable, uint]' = NullValue + credentials: 'typing.Union[None, Nullable, typing.List[DoorLock.Structs.DlCredential]]' = None + + @dataclass + class LockOperationError(ClusterEvent): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0101 + + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000003 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="lockOperationType", Tag=0, Type=DoorLock.Enums.DlLockOperationType), + ClusterObjectFieldDescriptor(Label="operationSource", Tag=1, Type=DoorLock.Enums.DlOperationSource), + ClusterObjectFieldDescriptor(Label="operationError", Tag=2, Type=DoorLock.Enums.DlOperationError), + ClusterObjectFieldDescriptor(Label="userIndex", Tag=3, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=4, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="sourceNode", Tag=5, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="credentials", Tag=6, Type=typing.Union[None, Nullable, typing.List[DoorLock.Structs.DlCredential]]), + ]) + + lockOperationType: 'DoorLock.Enums.DlLockOperationType' = 0 + operationSource: 'DoorLock.Enums.DlOperationSource' = 0 + operationError: 'DoorLock.Enums.DlOperationError' = 0 + userIndex: 'typing.Union[Nullable, uint]' = NullValue + fabricIndex: 'typing.Union[Nullable, uint]' = NullValue + sourceNode: 'typing.Union[Nullable, uint]' = NullValue + credentials: 'typing.Union[None, Nullable, typing.List[DoorLock.Structs.DlCredential]]' = None + + @dataclass + class LockUserChange(ClusterEvent): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0101 + + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000004 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="lockDataType", Tag=0, Type=DoorLock.Enums.DlLockDataType), + ClusterObjectFieldDescriptor(Label="dataOperationType", Tag=1, Type=DoorLock.Enums.DlDataOperationType), + ClusterObjectFieldDescriptor(Label="operationSource", Tag=2, Type=DoorLock.Enums.DlOperationSource), + ClusterObjectFieldDescriptor(Label="userIndex", Tag=3, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=4, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="sourceNode", Tag=5, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="dataIndex", Tag=6, Type=typing.Union[Nullable, uint]), + ]) + + lockDataType: 'DoorLock.Enums.DlLockDataType' = 0 + dataOperationType: 'DoorLock.Enums.DlDataOperationType' = 0 + operationSource: 'DoorLock.Enums.DlOperationSource' = 0 + userIndex: 'typing.Union[Nullable, uint]' = NullValue + fabricIndex: 'typing.Union[Nullable, uint]' = NullValue + sourceNode: 'typing.Union[Nullable, uint]' = NullValue + dataIndex: 'typing.Union[Nullable, uint]' = NullValue + @dataclass -class FlowMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0404 +class WindowCovering(Cluster): + id: typing.ClassVar[int] = 0x0102 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="type", Tag=0x00000000, Type=WindowCovering.Enums.Type), + ClusterObjectFieldDescriptor(Label="physicalClosedLimitLift", Tag=0x00000001, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="physicalClosedLimitTilt", Tag=0x00000002, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="currentPositionLift", Tag=0x00000003, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="currentPositionTilt", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="numberOfActuationsLift", Tag=0x00000005, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="numberOfActuationsTilt", Tag=0x00000006, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="configStatus", Tag=0x00000007, Type=uint), + ClusterObjectFieldDescriptor(Label="currentPositionLiftPercentage", Tag=0x00000008, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="currentPositionTiltPercentage", Tag=0x00000009, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="operationalStatus", Tag=0x0000000A, Type=uint), + ClusterObjectFieldDescriptor(Label="targetPositionLiftPercent100ths", Tag=0x0000000B, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="targetPositionTiltPercent100ths", Tag=0x0000000C, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="endProductType", Tag=0x0000000D, Type=WindowCovering.Enums.EndProductType), + ClusterObjectFieldDescriptor(Label="currentPositionLiftPercent100ths", Tag=0x0000000E, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="currentPositionTiltPercent100ths", Tag=0x0000000F, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="installedOpenLimitLift", Tag=0x00000010, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="installedClosedLimitLift", Tag=0x00000011, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="installedOpenLimitTilt", Tag=0x00000012, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="installedClosedLimitTilt", Tag=0x00000013, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="mode", Tag=0x00000017, Type=uint), + ClusterObjectFieldDescriptor(Label="safetyStatus", Tag=0x0000001A, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -23930,204 +14421,184 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - measuredValue: 'typing.Union[Nullable, uint]' = None - minMeasuredValue: 'typing.Union[Nullable, uint]' = None - maxMeasuredValue: 'typing.Union[Nullable, uint]' = None - tolerance: 'typing.Optional[uint]' = None + type: 'WindowCovering.Enums.Type' = None + physicalClosedLimitLift: 'typing.Optional[uint]' = None + physicalClosedLimitTilt: 'typing.Optional[uint]' = None + currentPositionLift: 'typing.Union[None, Nullable, uint]' = None + currentPositionTilt: 'typing.Union[None, Nullable, uint]' = None + numberOfActuationsLift: 'typing.Optional[uint]' = None + numberOfActuationsTilt: 'typing.Optional[uint]' = None + configStatus: 'uint' = None + currentPositionLiftPercentage: 'typing.Union[None, Nullable, uint]' = None + currentPositionTiltPercentage: 'typing.Union[None, Nullable, uint]' = None + operationalStatus: 'uint' = None + targetPositionLiftPercent100ths: 'typing.Union[None, Nullable, uint]' = None + targetPositionTiltPercent100ths: 'typing.Union[None, Nullable, uint]' = None + endProductType: 'WindowCovering.Enums.EndProductType' = None + currentPositionLiftPercent100ths: 'typing.Union[None, Nullable, uint]' = None + currentPositionTiltPercent100ths: 'typing.Union[None, Nullable, uint]' = None + installedOpenLimitLift: 'typing.Optional[uint]' = None + installedClosedLimitLift: 'typing.Optional[uint]' = None + installedOpenLimitTilt: 'typing.Optional[uint]' = None + installedClosedLimitTilt: 'typing.Optional[uint]' = None + mode: 'uint' = None + safetyStatus: 'typing.Optional[uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None + class Enums: + class EndProductType(IntEnum): + kRollerShade = 0x00 + kRomanShade = 0x01 + kBalloonShade = 0x02 + kWovenWood = 0x03 + kPleatedShade = 0x04 + kCellularShade = 0x05 + kLayeredShade = 0x06 + kLayeredShade2D = 0x07 + kSheerShade = 0x08 + kTiltOnlyInteriorBlind = 0x09 + kInteriorBlind = 0x0A + kVerticalBlindStripCurtain = 0x0B + kInteriorVenetianBlind = 0x0C + kExteriorVenetianBlind = 0x0D + kLateralLeftCurtain = 0x0E + kLateralRightCurtain = 0x0F + kCentralCurtain = 0x10 + kRollerShutter = 0x11 + kExteriorVerticalScreen = 0x12 + kAwningTerracePatio = 0x13 + kAwningVerticalScreen = 0x14 + kTiltOnlyPergola = 0x15 + kSwingingShutter = 0x16 + kSlidingShutter = 0x17 + kUnknown = 0xFF + class Type(IntEnum): + kRollerShade = 0x00 + kRollerShade2Motor = 0x01 + kRollerShadeExterior = 0x02 + kRollerShadeExterior2Motor = 0x03 + kDrapery = 0x04 + kAwning = 0x05 + kShutter = 0x06 + kTiltBlindTiltOnly = 0x07 + kTiltBlindLiftAndTilt = 0x08 + kProjectorScreen = 0x09 + kUnknown = 0xFF - class Attributes: - @dataclass - class MeasuredValue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0404 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - - value: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0404 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - - value: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0404 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - - value: 'typing.Union[Nullable, uint]' = NullValue - - @dataclass - class Tolerance(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0404 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None + class Commands: @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0404 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 + class UpOrOpen(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0102 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0404 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 + class DownOrClose(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0102 + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0404 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB + class StopMotion(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0102 + command_id: typing.ClassVar[int] = 0x0002 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0404 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 + class GoToLiftValue(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0102 + command_id: typing.ClassVar[int] = 0x0004 + is_client: typing.ClassVar[bool] = True - @dataclass - class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0404 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="liftValue", Tag=0, Type=uint), + ]) - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD + liftValue: 'uint' = 0 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + @dataclass + class GoToLiftPercentage(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0102 + command_id: typing.ClassVar[int] = 0x0005 + is_client: typing.ClassVar[bool] = True - value: 'uint' = 0 + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="liftPercent100thsValue", Tag=0, Type=uint), + ]) + liftPercent100thsValue: 'uint' = 0 + @dataclass + class GoToTiltValue(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0102 + command_id: typing.ClassVar[int] = 0x0007 + is_client: typing.ClassVar[bool] = True -@dataclass -class RelativeHumidityMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0405 + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="tiltValue", Tag=0, Type=uint), + ]) - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=typing.Union[Nullable, uint]), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + tiltValue: 'uint' = 0 - measuredValue: 'typing.Union[Nullable, uint]' = None - minMeasuredValue: 'typing.Union[Nullable, uint]' = None - maxMeasuredValue: 'typing.Union[Nullable, uint]' = None - tolerance: 'typing.Optional[uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @dataclass + class GoToTiltPercentage(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0102 + command_id: typing.ClassVar[int] = 0x0008 + is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="tiltPercent100thsValue", Tag=0, Type=uint), + ]) + tiltPercent100thsValue: 'uint' = 0 class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class Type(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0405 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -24135,15 +14606,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=WindowCovering.Enums.Type) - value: 'typing.Union[Nullable, uint]' = NullValue + value: 'WindowCovering.Enums.Type' = 0 @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class PhysicalClosedLimitLift(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0405 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -24151,15 +14622,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[Nullable, uint]' = NullValue + value: 'typing.Optional[uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class PhysicalClosedLimitTilt(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0405 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -24167,15 +14638,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[Nullable, uint]' = NullValue + value: 'typing.Optional[uint]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class CurrentPositionLift(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0405 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -24183,67 +14654,67 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class CurrentPositionTilt(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0405 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000004 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class NumberOfActuationsLift(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0405 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000005 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class NumberOfActuationsTilt(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0405 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000006 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class ConfigStatus(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0405 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000007 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -24252,81 +14723,46 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class CurrentPositionLiftPercentage(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0405 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000008 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class OccupancySensing(Cluster): - id: typing.ClassVar[int] = 0x0406 + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="occupancy", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="occupancySensorType", Tag=0x00000001, Type=uint), - ClusterObjectFieldDescriptor(Label="occupancySensorTypeBitmap", Tag=0x00000002, Type=uint), - ClusterObjectFieldDescriptor(Label="pirOccupiedToUnoccupiedDelay", Tag=0x00000010, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="pirUnoccupiedToOccupiedDelay", Tag=0x00000011, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="pirUnoccupiedToOccupiedThreshold", Tag=0x00000012, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="ultrasonicOccupiedToUnoccupiedDelay", Tag=0x00000020, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="ultrasonicUnoccupiedToOccupiedDelay", Tag=0x00000021, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="ultrasonicUnoccupiedToOccupiedThreshold", Tag=0x00000022, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="physicalContactOccupiedToUnoccupiedDelay", Tag=0x00000030, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="physicalContactUnoccupiedToOccupiedDelay", Tag=0x00000031, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="physicalContactUnoccupiedToOccupiedThreshold", Tag=0x00000032, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + value: 'typing.Union[None, Nullable, uint]' = None - occupancy: 'uint' = None - occupancySensorType: 'uint' = None - occupancySensorTypeBitmap: 'uint' = None - pirOccupiedToUnoccupiedDelay: 'typing.Optional[uint]' = None - pirUnoccupiedToOccupiedDelay: 'typing.Optional[uint]' = None - pirUnoccupiedToOccupiedThreshold: 'typing.Optional[uint]' = None - ultrasonicOccupiedToUnoccupiedDelay: 'typing.Optional[uint]' = None - ultrasonicUnoccupiedToOccupiedDelay: 'typing.Optional[uint]' = None - ultrasonicUnoccupiedToOccupiedThreshold: 'typing.Optional[uint]' = None - physicalContactOccupiedToUnoccupiedDelay: 'typing.Optional[uint]' = None - physicalContactUnoccupiedToOccupiedDelay: 'typing.Optional[uint]' = None - physicalContactUnoccupiedToOccupiedThreshold: 'typing.Optional[uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @dataclass + class CurrentPositionTiltPercentage(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0102 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000009 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + value: 'typing.Union[None, Nullable, uint]' = None - class Attributes: @dataclass - class Occupancy(ClusterAttributeDescriptor): + class OperationalStatus(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0406 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x0000000A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -24335,94 +14771,94 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 @dataclass - class OccupancySensorType(ClusterAttributeDescriptor): + class TargetPositionLiftPercent100ths(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0406 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x0000000B @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'uint' = 0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class OccupancySensorTypeBitmap(ClusterAttributeDescriptor): + class TargetPositionTiltPercent100ths(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0406 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x0000000C @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'uint' = 0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class PirOccupiedToUnoccupiedDelay(ClusterAttributeDescriptor): + class EndProductType(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0406 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000010 + return 0x0000000D @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=WindowCovering.Enums.EndProductType) - value: 'typing.Optional[uint]' = None + value: 'WindowCovering.Enums.EndProductType' = 0 @dataclass - class PirUnoccupiedToOccupiedDelay(ClusterAttributeDescriptor): + class CurrentPositionLiftPercent100ths(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0406 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000011 + return 0x0000000E @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class PirUnoccupiedToOccupiedThreshold(ClusterAttributeDescriptor): + class CurrentPositionTiltPercent100ths(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0406 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000012 + return 0x0000000F @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class UltrasonicOccupiedToUnoccupiedDelay(ClusterAttributeDescriptor): + class InstalledOpenLimitLift(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0406 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000020 + return 0x00000010 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -24431,14 +14867,14 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Optional[uint]' = None @dataclass - class UltrasonicUnoccupiedToOccupiedDelay(ClusterAttributeDescriptor): + class InstalledClosedLimitLift(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0406 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000021 + return 0x00000011 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -24447,14 +14883,14 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Optional[uint]' = None @dataclass - class UltrasonicUnoccupiedToOccupiedThreshold(ClusterAttributeDescriptor): + class InstalledOpenLimitTilt(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0406 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000022 + return 0x00000012 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -24463,14 +14899,14 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Optional[uint]' = None @dataclass - class PhysicalContactOccupiedToUnoccupiedDelay(ClusterAttributeDescriptor): + class InstalledClosedLimitTilt(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0406 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000030 + return 0x00000013 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -24479,30 +14915,30 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Optional[uint]' = None @dataclass - class PhysicalContactUnoccupiedToOccupiedDelay(ClusterAttributeDescriptor): + class Mode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0406 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000031 + return 0x00000017 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[uint]' = None + value: 'uint' = 0 @dataclass - class PhysicalContactUnoccupiedToOccupiedThreshold(ClusterAttributeDescriptor): + class SafetyStatus(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0406 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000032 + return 0x0000001A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -24514,7 +14950,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0406 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -24530,7 +14966,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0406 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -24546,7 +14982,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0406 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -24562,7 +14998,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0406 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -24578,7 +15014,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0406 + return 0x0102 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -24593,17 +15029,23 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class CarbonMonoxideConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x040C +class BarrierControl(Cluster): + id: typing.ClassVar[int] = 0x0103 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), + ClusterObjectFieldDescriptor(Label="barrierMovingState", Tag=0x00000001, Type=uint), + ClusterObjectFieldDescriptor(Label="barrierSafetyStatus", Tag=0x00000002, Type=uint), + ClusterObjectFieldDescriptor(Label="barrierCapabilities", Tag=0x00000003, Type=uint), + ClusterObjectFieldDescriptor(Label="barrierOpenEvents", Tag=0x00000004, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="barrierCloseEvents", Tag=0x00000005, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="barrierCommandOpenEvents", Tag=0x00000006, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="barrierCommandCloseEvents", Tag=0x00000007, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="barrierOpenPeriod", Tag=0x00000008, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="barrierClosePeriod", Tag=0x00000009, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="barrierPosition", Tag=0x0000000A, Type=uint), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -24611,10 +15053,16 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None + barrierMovingState: 'uint' = None + barrierSafetyStatus: 'uint' = None + barrierCapabilities: 'uint' = None + barrierOpenEvents: 'typing.Optional[uint]' = None + barrierCloseEvents: 'typing.Optional[uint]' = None + barrierCommandOpenEvents: 'typing.Optional[uint]' = None + barrierCommandCloseEvents: 'typing.Optional[uint]' = None + barrierOpenPeriod: 'typing.Optional[uint]' = None + barrierClosePeriod: 'typing.Optional[uint]' = None + barrierPosition: 'uint' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None @@ -24623,256 +15071,202 @@ def descriptor(cls) -> ClusterObjectDescriptor: - - class Attributes: - @dataclass - class MeasuredValue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x040C - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) - - value: 'float32' = 0.0 - + class Commands: @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x040C - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 + class BarrierControlGoToPercent(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0103 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="percentOpen", Tag=0, Type=uint), + ]) - value: 'float32' = 0.0 + percentOpen: 'uint' = 0 @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x040C + class BarrierControlStop(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0103 + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) - value: 'float32' = 0.0 + class Attributes: @dataclass - class Tolerance(ClusterAttributeDescriptor): + class BarrierMovingState(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040C + return 0x0103 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[float32]' = None + value: 'uint' = 0 @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class BarrierSafetyStatus(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040C + return 0x0103 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'uint' = 0 @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class BarrierCapabilities(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040C + return 0x0103 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'uint' = 0 @dataclass - class AttributeList(ClusterAttributeDescriptor): + class BarrierOpenEvents(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040C + return 0x0103 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000004 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class BarrierCloseEvents(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040C + return 0x0103 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000005 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'uint' = 0 + value: 'typing.Optional[uint]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class BarrierCommandOpenEvents(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040C + return 0x0103 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000006 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class CarbonDioxideConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x040D - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class BarrierCommandCloseEvents(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040D + return 0x0103 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000007 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class BarrierOpenPeriod(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040D + return 0x0103 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000008 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class BarrierClosePeriod(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040D + return 0x0103 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000009 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class BarrierPosition(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040D + return 0x0103 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x0000000A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[float32]' = None + value: 'uint' = 0 @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040D + return 0x0103 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -24888,7 +15282,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040D + return 0x0103 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -24904,7 +15298,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040D + return 0x0103 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -24920,7 +15314,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040D + return 0x0103 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -24936,7 +15330,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040D + return 0x0103 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -24951,17 +15345,36 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class EthyleneConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x040E +class PumpConfigurationAndControl(Cluster): + id: typing.ClassVar[int] = 0x0200 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), + ClusterObjectFieldDescriptor(Label="maxPressure", Tag=0x00000000, Type=typing.Union[Nullable, int]), + ClusterObjectFieldDescriptor(Label="maxSpeed", Tag=0x00000001, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="maxFlow", Tag=0x00000002, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="minConstPressure", Tag=0x00000003, Type=typing.Union[None, Nullable, int]), + ClusterObjectFieldDescriptor(Label="maxConstPressure", Tag=0x00000004, Type=typing.Union[None, Nullable, int]), + ClusterObjectFieldDescriptor(Label="minCompPressure", Tag=0x00000005, Type=typing.Union[None, Nullable, int]), + ClusterObjectFieldDescriptor(Label="maxCompPressure", Tag=0x00000006, Type=typing.Union[None, Nullable, int]), + ClusterObjectFieldDescriptor(Label="minConstSpeed", Tag=0x00000007, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="maxConstSpeed", Tag=0x00000008, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="minConstFlow", Tag=0x00000009, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="maxConstFlow", Tag=0x0000000A, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="minConstTemp", Tag=0x0000000B, Type=typing.Union[None, Nullable, int]), + ClusterObjectFieldDescriptor(Label="maxConstTemp", Tag=0x0000000C, Type=typing.Union[None, Nullable, int]), + ClusterObjectFieldDescriptor(Label="pumpStatus", Tag=0x00000010, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="effectiveOperationMode", Tag=0x00000011, Type=PumpConfigurationAndControl.Enums.PumpOperationMode), + ClusterObjectFieldDescriptor(Label="effectiveControlMode", Tag=0x00000012, Type=PumpConfigurationAndControl.Enums.PumpControlMode), + ClusterObjectFieldDescriptor(Label="capacity", Tag=0x00000013, Type=typing.Union[Nullable, int]), + ClusterObjectFieldDescriptor(Label="speed", Tag=0x00000014, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="lifetimeRunningHours", Tag=0x00000015, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="power", Tag=0x00000016, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="lifetimeEnergyConsumed", Tag=0x00000017, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="operationMode", Tag=0x00000020, Type=PumpConfigurationAndControl.Enums.PumpOperationMode), + ClusterObjectFieldDescriptor(Label="controlMode", Tag=0x00000021, Type=typing.Optional[PumpConfigurationAndControl.Enums.PumpControlMode]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -24969,25 +15382,59 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None + maxPressure: 'typing.Union[Nullable, int]' = None + maxSpeed: 'typing.Union[Nullable, uint]' = None + maxFlow: 'typing.Union[Nullable, uint]' = None + minConstPressure: 'typing.Union[None, Nullable, int]' = None + maxConstPressure: 'typing.Union[None, Nullable, int]' = None + minCompPressure: 'typing.Union[None, Nullable, int]' = None + maxCompPressure: 'typing.Union[None, Nullable, int]' = None + minConstSpeed: 'typing.Union[None, Nullable, uint]' = None + maxConstSpeed: 'typing.Union[None, Nullable, uint]' = None + minConstFlow: 'typing.Union[None, Nullable, uint]' = None + maxConstFlow: 'typing.Union[None, Nullable, uint]' = None + minConstTemp: 'typing.Union[None, Nullable, int]' = None + maxConstTemp: 'typing.Union[None, Nullable, int]' = None + pumpStatus: 'typing.Optional[uint]' = None + effectiveOperationMode: 'PumpConfigurationAndControl.Enums.PumpOperationMode' = None + effectiveControlMode: 'PumpConfigurationAndControl.Enums.PumpControlMode' = None + capacity: 'typing.Union[Nullable, int]' = None + speed: 'typing.Union[None, Nullable, uint]' = None + lifetimeRunningHours: 'typing.Union[None, Nullable, uint]' = None + power: 'typing.Union[None, Nullable, uint]' = None + lifetimeEnergyConsumed: 'typing.Union[None, Nullable, uint]' = None + operationMode: 'PumpConfigurationAndControl.Enums.PumpOperationMode' = None + controlMode: 'typing.Optional[PumpConfigurationAndControl.Enums.PumpControlMode]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None + class Enums: + class PumpControlMode(IntEnum): + kConstantSpeed = 0x00 + kConstantPressure = 0x01 + kProportionalPressure = 0x02 + kConstantFlow = 0x03 + kConstantTemperature = 0x05 + kAutomatic = 0x07 + + class PumpOperationMode(IntEnum): + kNormal = 0x00 + kMinimum = 0x01 + kMaximum = 0x02 + kLocal = 0x03 + class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class MaxPressure(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040E + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -24995,15 +15442,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) - value: 'float32' = 0.0 + value: 'typing.Union[Nullable, int]' = NullValue @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class MaxSpeed(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040E + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -25011,15 +15458,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class MaxFlow(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040E + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -25027,15 +15474,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class Tolerance(ClusterAttributeDescriptor): + class MinConstPressure(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040E + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -25043,373 +15490,319 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - value: 'typing.Optional[float32]' = None + value: 'typing.Union[None, Nullable, int]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class MaxConstPressure(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040E + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000004 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, int]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class MinCompPressure(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040E + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000005 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, int]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class MaxCompPressure(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040E + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000006 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, int]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class MinConstSpeed(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040E + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000007 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'uint' = 0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class MaxConstSpeed(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040E + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000008 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class EthyleneOxideConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x040F - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + value: 'typing.Union[None, Nullable, uint]' = None - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class MinConstFlow(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040F + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000009 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class MaxConstFlow(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040F + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x0000000A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class MinConstTemp(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040F + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x0000000B @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - value: 'float32' = 0.0 + value: 'typing.Union[None, Nullable, int]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class MaxConstTemp(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040F + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x0000000C @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - value: 'typing.Optional[float32]' = None + value: 'typing.Union[None, Nullable, int]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class PumpStatus(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040F + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000010 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class EffectiveOperationMode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040F + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000011 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=PumpConfigurationAndControl.Enums.PumpOperationMode) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'PumpConfigurationAndControl.Enums.PumpOperationMode' = 0 @dataclass - class AttributeList(ClusterAttributeDescriptor): + class EffectiveControlMode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040F + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000012 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=PumpConfigurationAndControl.Enums.PumpControlMode) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'PumpConfigurationAndControl.Enums.PumpControlMode' = 0 @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class Capacity(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040F + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000013 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) - value: 'uint' = 0 + value: 'typing.Union[Nullable, int]' = NullValue @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class Speed(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x040F - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class HydrogenConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0410 + return 0x0200 - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000014 - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + + value: 'typing.Union[None, Nullable, uint]' = None + + @dataclass + class LifetimeRunningHours(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0200 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000015 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + value: 'typing.Union[None, Nullable, uint]' = None - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class Power(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0410 + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000016 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class LifetimeEnergyConsumed(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0410 + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000017 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class OperationMode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0410 + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000020 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=PumpConfigurationAndControl.Enums.PumpOperationMode) - value: 'float32' = 0.0 + value: 'PumpConfigurationAndControl.Enums.PumpOperationMode' = 0 @dataclass - class Tolerance(ClusterAttributeDescriptor): + class ControlMode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0410 + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00000021 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[PumpConfigurationAndControl.Enums.PumpControlMode]) - value: 'typing.Optional[float32]' = None + value: 'typing.Optional[PumpConfigurationAndControl.Enums.PumpControlMode]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0410 + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -25425,7 +15818,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0410 + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -25441,7 +15834,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0410 + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -25457,7 +15850,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0410 + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -25473,7 +15866,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0410 + return 0x0200 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -25486,377 +15879,354 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 - -@dataclass -class HydrogenSulphideConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0411 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - - - class Attributes: + class Events: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class SupplyVoltageLow(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0411 + return 0x0200 @ChipUtility.classproperty - def attribute_id(cls) -> int: + def event_id(cls) -> int: return 0x00000000 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'float32' = 0.0 @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class SupplyVoltageHigh(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0411 + return 0x0200 @ChipUtility.classproperty - def attribute_id(cls) -> int: + def event_id(cls) -> int: return 0x00000001 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'float32' = 0.0 @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class PowerMissingPhase(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0411 + return 0x0200 @ChipUtility.classproperty - def attribute_id(cls) -> int: + def event_id(cls) -> int: return 0x00000002 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'float32' = 0.0 @dataclass - class Tolerance(ClusterAttributeDescriptor): + class SystemPressureLow(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0411 + return 0x0200 @ChipUtility.classproperty - def attribute_id(cls) -> int: + def event_id(cls) -> int: return 0x00000003 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) - - value: 'typing.Optional[float32]' = None - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0411 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class SystemPressureHigh(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0411 + return 0x0200 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 + def event_id(cls) -> int: + return 0x00000004 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class AttributeList(ClusterAttributeDescriptor): + class DryRunning(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0411 + return 0x0200 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB + def event_id(cls) -> int: + return 0x00000005 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class MotorTemperatureHigh(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0411 + return 0x0200 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC + def event_id(cls) -> int: + return 0x00000006 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'uint' = 0 @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class PumpMotorFatalFailure(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0411 + return 0x0200 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD + def event_id(cls) -> int: + return 0x00000007 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class NitricOxideConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0412 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class ElectronicTemperatureHigh(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0412 + return 0x0200 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 + def event_id(cls) -> int: + return 0x00000008 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'float32' = 0.0 @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class PumpBlocked(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0412 + return 0x0200 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 + def event_id(cls) -> int: + return 0x00000009 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'float32' = 0.0 @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class SensorFailure(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0412 + return 0x0200 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 + def event_id(cls) -> int: + return 0x0000000A @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'float32' = 0.0 @dataclass - class Tolerance(ClusterAttributeDescriptor): + class ElectronicNonFatalFailure(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0412 + return 0x0200 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 + def event_id(cls) -> int: + return 0x0000000B @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'typing.Optional[float32]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class ElectronicFatalFailure(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0412 + return 0x0200 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 + def event_id(cls) -> int: + return 0x0000000C @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class GeneralFault(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0412 + return 0x0200 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 + def event_id(cls) -> int: + return 0x0000000D @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class AttributeList(ClusterAttributeDescriptor): + class Leakage(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0412 + return 0x0200 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB + def event_id(cls) -> int: + return 0x0000000E @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class AirDetection(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0412 + return 0x0200 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC + def event_id(cls) -> int: + return 0x0000000F @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) - value: 'uint' = 0 @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class TurbineOperation(ClusterEvent): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0412 + return 0x0200 @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD + def event_id(cls) -> int: + return 0x00000010 @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) @dataclass -class NitrogenDioxideConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0413 +class Thermostat(Cluster): + id: typing.ClassVar[int] = 0x0201 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), + ClusterObjectFieldDescriptor(Label="localTemperature", Tag=0x00000000, Type=typing.Union[Nullable, int]), + ClusterObjectFieldDescriptor(Label="outdoorTemperature", Tag=0x00000001, Type=typing.Union[None, Nullable, int]), + ClusterObjectFieldDescriptor(Label="occupancy", Tag=0x00000002, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="absMinHeatSetpointLimit", Tag=0x00000003, Type=typing.Optional[int]), + ClusterObjectFieldDescriptor(Label="absMaxHeatSetpointLimit", Tag=0x00000004, Type=typing.Optional[int]), + ClusterObjectFieldDescriptor(Label="absMinCoolSetpointLimit", Tag=0x00000005, Type=typing.Optional[int]), + ClusterObjectFieldDescriptor(Label="absMaxCoolSetpointLimit", Tag=0x00000006, Type=typing.Optional[int]), + ClusterObjectFieldDescriptor(Label="PICoolingDemand", Tag=0x00000007, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="PIHeatingDemand", Tag=0x00000008, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="HVACSystemTypeConfiguration", Tag=0x00000009, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="localTemperatureCalibration", Tag=0x00000010, Type=typing.Optional[int]), + ClusterObjectFieldDescriptor(Label="occupiedCoolingSetpoint", Tag=0x00000011, Type=typing.Optional[int]), + ClusterObjectFieldDescriptor(Label="occupiedHeatingSetpoint", Tag=0x00000012, Type=typing.Optional[int]), + ClusterObjectFieldDescriptor(Label="unoccupiedCoolingSetpoint", Tag=0x00000013, Type=typing.Optional[int]), + ClusterObjectFieldDescriptor(Label="unoccupiedHeatingSetpoint", Tag=0x00000014, Type=typing.Optional[int]), + ClusterObjectFieldDescriptor(Label="minHeatSetpointLimit", Tag=0x00000015, Type=typing.Optional[int]), + ClusterObjectFieldDescriptor(Label="maxHeatSetpointLimit", Tag=0x00000016, Type=typing.Optional[int]), + ClusterObjectFieldDescriptor(Label="minCoolSetpointLimit", Tag=0x00000017, Type=typing.Optional[int]), + ClusterObjectFieldDescriptor(Label="maxCoolSetpointLimit", Tag=0x00000018, Type=typing.Optional[int]), + ClusterObjectFieldDescriptor(Label="minSetpointDeadBand", Tag=0x00000019, Type=typing.Optional[int]), + ClusterObjectFieldDescriptor(Label="remoteSensing", Tag=0x0000001A, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="controlSequenceOfOperation", Tag=0x0000001B, Type=Thermostat.Enums.ThermostatControlSequence), + ClusterObjectFieldDescriptor(Label="systemMode", Tag=0x0000001C, Type=uint), + ClusterObjectFieldDescriptor(Label="thermostatRunningMode", Tag=0x0000001E, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="startOfWeek", Tag=0x00000020, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="numberOfWeeklyTransitions", Tag=0x00000021, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="numberOfDailyTransitions", Tag=0x00000022, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="temperatureSetpointHold", Tag=0x00000023, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="temperatureSetpointHoldDuration", Tag=0x00000024, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="thermostatProgrammingOperationMode", Tag=0x00000025, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="thermostatRunningState", Tag=0x00000029, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="setpointChangeSource", Tag=0x00000030, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="setpointChangeAmount", Tag=0x00000031, Type=typing.Union[None, Nullable, int]), + ClusterObjectFieldDescriptor(Label="setpointChangeSourceTimestamp", Tag=0x00000032, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="occupiedSetback", Tag=0x00000034, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="occupiedSetbackMin", Tag=0x00000035, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="occupiedSetbackMax", Tag=0x00000036, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="unoccupiedSetback", Tag=0x00000037, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="unoccupiedSetbackMin", Tag=0x00000038, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="unoccupiedSetbackMax", Tag=0x00000039, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="emergencyHeatDelta", Tag=0x0000003A, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="ACType", Tag=0x00000040, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="ACCapacity", Tag=0x00000041, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="ACRefrigerantType", Tag=0x00000042, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="ACCompressorType", Tag=0x00000043, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="ACErrorCode", Tag=0x00000044, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="ACLouverPosition", Tag=0x00000045, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="ACCoilTemperature", Tag=0x00000046, Type=typing.Union[None, Nullable, int]), + ClusterObjectFieldDescriptor(Label="ACCapacityformat", Tag=0x00000047, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -25864,204 +16234,205 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None + localTemperature: 'typing.Union[Nullable, int]' = None + outdoorTemperature: 'typing.Union[None, Nullable, int]' = None + occupancy: 'typing.Optional[uint]' = None + absMinHeatSetpointLimit: 'typing.Optional[int]' = None + absMaxHeatSetpointLimit: 'typing.Optional[int]' = None + absMinCoolSetpointLimit: 'typing.Optional[int]' = None + absMaxCoolSetpointLimit: 'typing.Optional[int]' = None + PICoolingDemand: 'typing.Optional[uint]' = None + PIHeatingDemand: 'typing.Optional[uint]' = None + HVACSystemTypeConfiguration: 'typing.Optional[uint]' = None + localTemperatureCalibration: 'typing.Optional[int]' = None + occupiedCoolingSetpoint: 'typing.Optional[int]' = None + occupiedHeatingSetpoint: 'typing.Optional[int]' = None + unoccupiedCoolingSetpoint: 'typing.Optional[int]' = None + unoccupiedHeatingSetpoint: 'typing.Optional[int]' = None + minHeatSetpointLimit: 'typing.Optional[int]' = None + maxHeatSetpointLimit: 'typing.Optional[int]' = None + minCoolSetpointLimit: 'typing.Optional[int]' = None + maxCoolSetpointLimit: 'typing.Optional[int]' = None + minSetpointDeadBand: 'typing.Optional[int]' = None + remoteSensing: 'typing.Optional[uint]' = None + controlSequenceOfOperation: 'Thermostat.Enums.ThermostatControlSequence' = None + systemMode: 'uint' = None + thermostatRunningMode: 'typing.Optional[uint]' = None + startOfWeek: 'typing.Optional[uint]' = None + numberOfWeeklyTransitions: 'typing.Optional[uint]' = None + numberOfDailyTransitions: 'typing.Optional[uint]' = None + temperatureSetpointHold: 'typing.Optional[uint]' = None + temperatureSetpointHoldDuration: 'typing.Union[None, Nullable, uint]' = None + thermostatProgrammingOperationMode: 'typing.Optional[uint]' = None + thermostatRunningState: 'typing.Optional[uint]' = None + setpointChangeSource: 'typing.Optional[uint]' = None + setpointChangeAmount: 'typing.Union[None, Nullable, int]' = None + setpointChangeSourceTimestamp: 'typing.Optional[uint]' = None + occupiedSetback: 'typing.Union[None, Nullable, uint]' = None + occupiedSetbackMin: 'typing.Union[None, Nullable, uint]' = None + occupiedSetbackMax: 'typing.Union[None, Nullable, uint]' = None + unoccupiedSetback: 'typing.Union[None, Nullable, uint]' = None + unoccupiedSetbackMin: 'typing.Union[None, Nullable, uint]' = None + unoccupiedSetbackMax: 'typing.Union[None, Nullable, uint]' = None + emergencyHeatDelta: 'typing.Optional[uint]' = None + ACType: 'typing.Optional[uint]' = None + ACCapacity: 'typing.Optional[uint]' = None + ACRefrigerantType: 'typing.Optional[uint]' = None + ACCompressorType: 'typing.Optional[uint]' = None + ACErrorCode: 'typing.Optional[uint]' = None + ACLouverPosition: 'typing.Optional[uint]' = None + ACCoilTemperature: 'typing.Union[None, Nullable, int]' = None + ACCapacityformat: 'typing.Optional[uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - - - class Attributes: - @dataclass - class MeasuredValue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0413 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) - - value: 'float32' = 0.0 - - @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0413 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) - - value: 'float32' = 0.0 - - @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0413 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + clusterRevision: 'uint' = None - value: 'float32' = 0.0 + class Enums: + class SetpointAdjustMode(IntEnum): + kHeatSetpoint = 0x00 + kCoolSetpoint = 0x01 + kHeatAndCoolSetpoints = 0x02 - @dataclass - class Tolerance(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0413 + class ThermostatControlSequence(IntEnum): + kCoolingOnly = 0x00 + kCoolingWithReheat = 0x01 + kHeatingOnly = 0x02 + kHeatingWithReheat = 0x03 + kCoolingAndHeating = 0x04 + kCoolingAndHeatingWithReheat = 0x05 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 + class ThermostatRunningMode(IntEnum): + kOff = 0x00 + kCool = 0x03 + kHeat = 0x04 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + class ThermostatSystemMode(IntEnum): + kOff = 0x00 + kAuto = 0x01 + kCool = 0x03 + kHeat = 0x04 + kEmergencyHeating = 0x05 + kPrecooling = 0x06 + kFanOnly = 0x07 - value: 'typing.Optional[float32]' = None + class Structs: @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class ThermostatScheduleTransition(ClusterObject): @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0413 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="heatSetpoint", Tag=1, Type=typing.Union[Nullable, int]), + ClusterObjectFieldDescriptor(Label="coolSetpoint", Tag=2, Type=typing.Union[Nullable, int]), + ]) - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 + transitionTime: 'uint' = 0 + heatSetpoint: 'typing.Union[Nullable, int]' = NullValue + coolSetpoint: 'typing.Union[Nullable, int]' = NullValue - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + class Commands: @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0413 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 + class SetpointRaiseLower(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0201 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="mode", Tag=0, Type=Thermostat.Enums.SetpointAdjustMode), + ClusterObjectFieldDescriptor(Label="amount", Tag=1, Type=int), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + mode: 'Thermostat.Enums.SetpointAdjustMode' = 0 + amount: 'int' = 0 @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0413 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB + class GetWeeklyScheduleResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0201 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="numberOfTransitionsForSequence", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="dayOfWeekForSequence", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="modeForSequence", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="transitions", Tag=3, Type=typing.List[Thermostat.Structs.ThermostatScheduleTransition]), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + numberOfTransitionsForSequence: 'uint' = 0 + dayOfWeekForSequence: 'uint' = 0 + modeForSequence: 'uint' = 0 + transitions: 'typing.List[Thermostat.Structs.ThermostatScheduleTransition]' = field(default_factory=lambda: []) @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0413 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC + class SetWeeklySchedule(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0201 + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="numberOfTransitionsForSequence", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="dayOfWeekForSequence", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="modeForSequence", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="transitions", Tag=3, Type=typing.List[Thermostat.Structs.ThermostatScheduleTransition]), + ]) - value: 'uint' = 0 + numberOfTransitionsForSequence: 'uint' = 0 + dayOfWeekForSequence: 'uint' = 0 + modeForSequence: 'uint' = 0 + transitions: 'typing.List[Thermostat.Structs.ThermostatScheduleTransition]' = field(default_factory=lambda: []) @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0413 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD + class GetWeeklySchedule(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0201 + command_id: typing.ClassVar[int] = 0x0002 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class OxygenConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0414 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="daysToReturn", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="modeToReturn", Tag=1, Type=uint), + ]) - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + daysToReturn: 'uint' = 0 + modeToReturn: 'uint' = 0 - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @dataclass + class ClearWeeklySchedule(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0201 + command_id: typing.ClassVar[int] = 0x0003 + is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ]) class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class LocalTemperature(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0414 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -26069,15 +16440,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) - value: 'float32' = 0.0 + value: 'typing.Union[Nullable, int]' = NullValue @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class OutdoorTemperature(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0414 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -26085,15 +16456,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - value: 'float32' = 0.0 + value: 'typing.Union[None, Nullable, int]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class Occupancy(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0414 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -26101,15 +16472,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class AbsMinHeatSetpointLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0414 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -26117,425 +16488,307 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) - - value: 'typing.Optional[float32]' = None - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0414 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0414 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0414 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[int]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class AbsMaxHeatSetpointLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0414 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000004 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - value: 'uint' = 0 + value: 'typing.Optional[int]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class AbsMinCoolSetpointLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0414 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000005 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class OzoneConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0415 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) + value: 'typing.Optional[int]' = None - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class AbsMaxCoolSetpointLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0415 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000006 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - value: 'float32' = 0.0 + value: 'typing.Optional[int]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class PICoolingDemand(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0415 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000007 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class PIHeatingDemand(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0415 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000008 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class HVACSystemTypeConfiguration(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0415 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00000009 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[float32]' = None + value: 'typing.Optional[uint]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class LocalTemperatureCalibration(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0415 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000010 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[int]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class OccupiedCoolingSetpoint(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0415 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000011 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[int]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class OccupiedHeatingSetpoint(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0415 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000012 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[int]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class UnoccupiedCoolingSetpoint(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0415 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000013 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - value: 'uint' = 0 + value: 'typing.Optional[int]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class UnoccupiedHeatingSetpoint(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0415 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000014 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class SulfurDioxideConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0416 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) + value: 'typing.Optional[int]' = None - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class MinHeatSetpointLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0416 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000015 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - value: 'float32' = 0.0 + value: 'typing.Optional[int]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class MaxHeatSetpointLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0416 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000016 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - value: 'float32' = 0.0 + value: 'typing.Optional[int]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class MinCoolSetpointLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0416 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000017 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - value: 'float32' = 0.0 + value: 'typing.Optional[int]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class MaxCoolSetpointLimit(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0416 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00000018 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - value: 'typing.Optional[float32]' = None + value: 'typing.Optional[int]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class MinSetpointDeadBand(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0416 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000019 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[int]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class RemoteSensing(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0416 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x0000001A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class ControlSequenceOfOperation(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0416 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x0000001B @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=Thermostat.Enums.ThermostatControlSequence) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'Thermostat.Enums.ThermostatControlSequence' = 0 @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class SystemMode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0416 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x0000001C @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -26544,483 +16797,426 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class ThermostatRunningMode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0416 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x0000001E @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class DissolvedOxygenConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0417 + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + value: 'typing.Optional[uint]' = None - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @dataclass + class StartOfWeek(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0201 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000020 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class NumberOfWeeklyTransitions(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0417 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000021 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class NumberOfDailyTransitions(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0417 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000022 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class TemperatureSetpointHold(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0417 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000023 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class TemperatureSetpointHoldDuration(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0417 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00000024 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.Optional[float32]' = None + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class ThermostatProgrammingOperationMode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0417 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000025 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class ThermostatRunningState(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0417 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000029 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class SetpointChangeSource(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0417 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000030 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class SetpointChangeAmount(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0417 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000031 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - value: 'uint' = 0 + value: 'typing.Union[None, Nullable, int]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class SetpointChangeSourceTimestamp(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0417 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000032 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class BromateConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0418 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class OccupiedSetback(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0418 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000034 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class OccupiedSetbackMin(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0418 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000035 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class OccupiedSetbackMax(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0418 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000036 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class UnoccupiedSetback(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0418 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00000037 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.Optional[float32]' = None + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class UnoccupiedSetbackMin(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0418 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000038 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class UnoccupiedSetbackMax(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0418 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000039 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class EmergencyHeatDelta(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0418 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x0000003A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class ACType(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0418 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000040 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'uint' = 0 + value: 'typing.Optional[uint]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class ACCapacity(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0418 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000041 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'uint' = 0 + value: 'typing.Optional[uint]' = None + @dataclass + class ACRefrigerantType(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0201 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000042 -@dataclass -class ChloraminesConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0419 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + value: 'typing.Optional[uint]' = None - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @dataclass + class ACCompressorType(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0201 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000043 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class ACErrorCode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0419 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000044 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class ACLouverPosition(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0419 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000045 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class ACCoilTemperature(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0419 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000046 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - value: 'float32' = 0.0 + value: 'typing.Union[None, Nullable, int]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class ACCapacityformat(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0419 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00000047 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[float32]' = None + value: 'typing.Optional[uint]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0419 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27036,7 +17232,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0419 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27052,7 +17248,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0419 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27068,7 +17264,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0419 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27084,7 +17280,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0419 + return 0x0201 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27099,17 +17295,24 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class ChlorineConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x041A +class FanControl(Cluster): + id: typing.ClassVar[int] = 0x0202 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), + ClusterObjectFieldDescriptor(Label="fanMode", Tag=0x00000000, Type=FanControl.Enums.FanModeType), + ClusterObjectFieldDescriptor(Label="fanModeSequence", Tag=0x00000001, Type=FanControl.Enums.FanModeSequenceType), + ClusterObjectFieldDescriptor(Label="percentSetting", Tag=0x00000002, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="percentCurrent", Tag=0x00000003, Type=uint), + ClusterObjectFieldDescriptor(Label="speedMax", Tag=0x00000004, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="speedSetting", Tag=0x00000005, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="speedCurrent", Tag=0x00000006, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rockSupport", Tag=0x00000007, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="rockSetting", Tag=0x00000008, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="windSupport", Tag=0x00000009, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="windSetting", Tag=0x0000000A, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -27117,25 +17320,50 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None + fanMode: 'FanControl.Enums.FanModeType' = None + fanModeSequence: 'FanControl.Enums.FanModeSequenceType' = None + percentSetting: 'typing.Union[Nullable, uint]' = None + percentCurrent: 'uint' = None + speedMax: 'typing.Optional[uint]' = None + speedSetting: 'typing.Union[None, Nullable, uint]' = None + speedCurrent: 'typing.Optional[uint]' = None + rockSupport: 'typing.Optional[uint]' = None + rockSetting: 'typing.Optional[uint]' = None + windSupport: 'typing.Optional[uint]' = None + windSetting: 'typing.Optional[uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None + class Enums: + class FanModeSequenceType(IntEnum): + kOffLowMedHigh = 0x00 + kOffLowHigh = 0x01 + kOffLowMedHighAuto = 0x02 + kOffLowHighAuto = 0x03 + kOffOnAuto = 0x04 + kOffOn = 0x05 + + class FanModeType(IntEnum): + kOff = 0x00 + kLow = 0x01 + kMedium = 0x02 + kHigh = 0x03 + kOn = 0x04 + kAuto = 0x05 + kSmart = 0x06 + class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class FanMode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041A + return 0x0202 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27143,15 +17371,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=FanControl.Enums.FanModeType) - value: 'float32' = 0.0 + value: 'FanControl.Enums.FanModeType' = 0 @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class FanModeSequence(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041A + return 0x0202 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27159,15 +17387,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=FanControl.Enums.FanModeSequenceType) - value: 'float32' = 0.0 + value: 'FanControl.Enums.FanModeSequenceType' = 0 @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class PercentSetting(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041A + return 0x0202 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27175,15 +17403,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class Tolerance(ClusterAttributeDescriptor): + class PercentCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041A + return 0x0202 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27191,194 +17419,127 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) - - value: 'typing.Optional[float32]' = None - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041A - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041A - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'uint' = 0 @dataclass - class AttributeList(ClusterAttributeDescriptor): + class SpeedMax(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041A + return 0x0202 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000004 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class SpeedSetting(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041A + return 0x0202 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000005 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'uint' = 0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class SpeedCurrent(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041A + return 0x0202 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000006 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class FecalColiformAndEColiConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x041B - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class RockSupport(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041B + return 0x0202 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000007 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class RockSetting(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041B + return 0x0202 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000008 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class WindSupport(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041B + return 0x0202 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000009 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class WindSetting(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041B + return 0x0202 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x0000000A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[float32]' = None + value: 'typing.Optional[uint]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041B + return 0x0202 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27394,7 +17555,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041B + return 0x0202 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27410,7 +17571,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041B + return 0x0202 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27426,7 +17587,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041B + return 0x0202 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27442,7 +17603,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041B + return 0x0202 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27457,17 +17618,16 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class FluorideConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x041C +class ThermostatUserInterfaceConfiguration(Cluster): + id: typing.ClassVar[int] = 0x0204 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), + ClusterObjectFieldDescriptor(Label="temperatureDisplayMode", Tag=0x00000000, Type=uint), + ClusterObjectFieldDescriptor(Label="keypadLockout", Tag=0x00000001, Type=uint), + ClusterObjectFieldDescriptor(Label="scheduleProgrammingVisibility", Tag=0x00000002, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -27475,10 +17635,9 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None + temperatureDisplayMode: 'uint' = None + keypadLockout: 'uint' = None + scheduleProgrammingVisibility: 'typing.Optional[uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None @@ -27490,10 +17649,10 @@ def descriptor(cls) -> ClusterObjectDescriptor: class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class TemperatureDisplayMode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041C + return 0x0204 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27501,15 +17660,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'float32' = 0.0 + value: 'uint' = 0 @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class KeypadLockout(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041C + return 0x0204 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27517,15 +17676,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'float32' = 0.0 + value: 'uint' = 0 @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class ScheduleProgrammingVisibility(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041C + return 0x0204 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27533,31 +17692,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) - - value: 'float32' = 0.0 - - @dataclass - class Tolerance(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041C - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[float32]' = None + value: 'typing.Optional[uint]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041C + return 0x0204 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27573,7 +17716,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041C + return 0x0204 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27589,7 +17732,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041C + return 0x0204 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27605,7 +17748,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041C + return 0x0204 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27621,7 +17764,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041C + return 0x0204 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -27636,17 +17779,65 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class HaloaceticAcidsConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x041D +class ColorControl(Cluster): + id: typing.ClassVar[int] = 0x0300 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), + ClusterObjectFieldDescriptor(Label="currentHue", Tag=0x00000000, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="currentSaturation", Tag=0x00000001, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="remainingTime", Tag=0x00000002, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="currentX", Tag=0x00000003, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="currentY", Tag=0x00000004, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="driftCompensation", Tag=0x00000005, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="compensationText", Tag=0x00000006, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="colorTemperature", Tag=0x00000007, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="colorMode", Tag=0x00000008, Type=uint), + ClusterObjectFieldDescriptor(Label="options", Tag=0x0000000F, Type=uint), + ClusterObjectFieldDescriptor(Label="numberOfPrimaries", Tag=0x00000010, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="primary1X", Tag=0x00000011, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="primary1Y", Tag=0x00000012, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="primary1Intensity", Tag=0x00000013, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="primary2X", Tag=0x00000015, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="primary2Y", Tag=0x00000016, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="primary2Intensity", Tag=0x00000017, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="primary3X", Tag=0x00000019, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="primary3Y", Tag=0x0000001A, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="primary3Intensity", Tag=0x0000001B, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="primary4X", Tag=0x00000020, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="primary4Y", Tag=0x00000021, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="primary4Intensity", Tag=0x00000022, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="primary5X", Tag=0x00000024, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="primary5Y", Tag=0x00000025, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="primary5Intensity", Tag=0x00000026, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="primary6X", Tag=0x00000028, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="primary6Y", Tag=0x00000029, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="primary6Intensity", Tag=0x0000002A, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="whitePointX", Tag=0x00000030, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="whitePointY", Tag=0x00000031, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="colorPointRX", Tag=0x00000032, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="colorPointRY", Tag=0x00000033, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="colorPointRIntensity", Tag=0x00000034, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="colorPointGX", Tag=0x00000036, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="colorPointGY", Tag=0x00000037, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="colorPointGIntensity", Tag=0x00000038, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="colorPointBX", Tag=0x0000003A, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="colorPointBY", Tag=0x0000003B, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="colorPointBIntensity", Tag=0x0000003C, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="enhancedCurrentHue", Tag=0x00004000, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="enhancedColorMode", Tag=0x00004001, Type=uint), + ClusterObjectFieldDescriptor(Label="colorLoopActive", Tag=0x00004002, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="colorLoopDirection", Tag=0x00004003, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="colorLoopTime", Tag=0x00004004, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="colorLoopStartEnhancedHue", Tag=0x00004005, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="colorLoopStoredEnhancedHue", Tag=0x00004006, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="colorCapabilities", Tag=0x0000400A, Type=uint), + ClusterObjectFieldDescriptor(Label="colorTempPhysicalMinMireds", Tag=0x0000400B, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="colorTempPhysicalMaxMireds", Tag=0x0000400C, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="coupleColorTempToLevelMinMireds", Tag=0x0000400D, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="startUpColorTemperatureMireds", Tag=0x00004010, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -27654,499 +17845,674 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None + currentHue: 'typing.Optional[uint]' = None + currentSaturation: 'typing.Optional[uint]' = None + remainingTime: 'typing.Optional[uint]' = None + currentX: 'typing.Optional[uint]' = None + currentY: 'typing.Optional[uint]' = None + driftCompensation: 'typing.Optional[uint]' = None + compensationText: 'typing.Optional[str]' = None + colorTemperature: 'typing.Optional[uint]' = None + colorMode: 'uint' = None + options: 'uint' = None + numberOfPrimaries: 'typing.Union[Nullable, uint]' = None + primary1X: 'typing.Optional[uint]' = None + primary1Y: 'typing.Optional[uint]' = None + primary1Intensity: 'typing.Union[None, Nullable, uint]' = None + primary2X: 'typing.Optional[uint]' = None + primary2Y: 'typing.Optional[uint]' = None + primary2Intensity: 'typing.Union[None, Nullable, uint]' = None + primary3X: 'typing.Optional[uint]' = None + primary3Y: 'typing.Optional[uint]' = None + primary3Intensity: 'typing.Union[None, Nullable, uint]' = None + primary4X: 'typing.Optional[uint]' = None + primary4Y: 'typing.Optional[uint]' = None + primary4Intensity: 'typing.Union[None, Nullable, uint]' = None + primary5X: 'typing.Optional[uint]' = None + primary5Y: 'typing.Optional[uint]' = None + primary5Intensity: 'typing.Union[None, Nullable, uint]' = None + primary6X: 'typing.Optional[uint]' = None + primary6Y: 'typing.Optional[uint]' = None + primary6Intensity: 'typing.Union[None, Nullable, uint]' = None + whitePointX: 'typing.Optional[uint]' = None + whitePointY: 'typing.Optional[uint]' = None + colorPointRX: 'typing.Optional[uint]' = None + colorPointRY: 'typing.Optional[uint]' = None + colorPointRIntensity: 'typing.Union[None, Nullable, uint]' = None + colorPointGX: 'typing.Optional[uint]' = None + colorPointGY: 'typing.Optional[uint]' = None + colorPointGIntensity: 'typing.Union[None, Nullable, uint]' = None + colorPointBX: 'typing.Optional[uint]' = None + colorPointBY: 'typing.Optional[uint]' = None + colorPointBIntensity: 'typing.Union[None, Nullable, uint]' = None + enhancedCurrentHue: 'typing.Optional[uint]' = None + enhancedColorMode: 'uint' = None + colorLoopActive: 'typing.Optional[uint]' = None + colorLoopDirection: 'typing.Optional[uint]' = None + colorLoopTime: 'typing.Optional[uint]' = None + colorLoopStartEnhancedHue: 'typing.Optional[uint]' = None + colorLoopStoredEnhancedHue: 'typing.Optional[uint]' = None + colorCapabilities: 'uint' = None + colorTempPhysicalMinMireds: 'typing.Optional[uint]' = None + colorTempPhysicalMaxMireds: 'typing.Optional[uint]' = None + coupleColorTempToLevelMinMireds: 'typing.Optional[uint]' = None + startUpColorTemperatureMireds: 'typing.Optional[uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None + class Enums: + class ColorLoopAction(IntEnum): + kDeactivate = 0x00 + kActivateFromColorLoopStartEnhancedHue = 0x01 + kActivateFromEnhancedCurrentHue = 0x02 + class ColorLoopDirection(IntEnum): + kDecrementHue = 0x00 + kIncrementHue = 0x01 + class ColorMode(IntEnum): + kCurrentHueAndCurrentSaturation = 0x00 + kCurrentXAndCurrentY = 0x01 + kColorTemperature = 0x02 - class Attributes: - @dataclass - class MeasuredValue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041D - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 + class HueDirection(IntEnum): + kShortestDistance = 0x00 + kLongestDistance = 0x01 + kUp = 0x02 + kDown = 0x03 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + class HueMoveMode(IntEnum): + kStop = 0x00 + kUp = 0x01 + kDown = 0x03 - value: 'float32' = 0.0 + class HueStepMode(IntEnum): + kUp = 0x01 + kDown = 0x03 - @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041D + class SaturationMoveMode(IntEnum): + kStop = 0x00 + kUp = 0x01 + kDown = 0x03 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 + class SaturationStepMode(IntEnum): + kUp = 0x01 + kDown = 0x03 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) - value: 'float32' = 0.0 + class Commands: @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041D + class MoveToHue(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="hue", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="direction", Tag=1, Type=ColorControl.Enums.HueDirection), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), + ]) + + hue: 'uint' = 0 + direction: 'ColorControl.Enums.HueDirection' = 0 + transitionTime: 'uint' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 + + @dataclass + class MoveHue(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=ColorControl.Enums.HueMoveMode), + ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint), + ]) - value: 'float32' = 0.0 + moveMode: 'ColorControl.Enums.HueMoveMode' = 0 + rate: 'uint' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 @dataclass - class Tolerance(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041D + class StepHue(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x0002 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=ColorControl.Enums.HueStepMode), + ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), + ]) + + stepMode: 'ColorControl.Enums.HueStepMode' = 0 + stepSize: 'uint' = 0 + transitionTime: 'uint' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 + + @dataclass + class MoveToSaturation(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x0003 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="saturation", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint), + ]) - value: 'typing.Optional[float32]' = None + saturation: 'uint' = 0 + transitionTime: 'uint' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041D - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 + class MoveSaturation(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x0004 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=ColorControl.Enums.SaturationMoveMode), + ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + moveMode: 'ColorControl.Enums.SaturationMoveMode' = 0 + rate: 'uint' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041D - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 + class StepSaturation(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x0005 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=ColorControl.Enums.SaturationStepMode), + ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + stepMode: 'ColorControl.Enums.SaturationStepMode' = 0 + stepSize: 'uint' = 0 + transitionTime: 'uint' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041D - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB + class MoveToHueAndSaturation(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x0006 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="hue", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="saturation", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + hue: 'uint' = 0 + saturation: 'uint' = 0 + transitionTime: 'uint' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041D - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC + class MoveToColor(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x0007 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="colorX", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="colorY", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), + ]) - value: 'uint' = 0 + colorX: 'uint' = 0 + colorY: 'uint' = 0 + transitionTime: 'uint' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 @dataclass - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041D - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD + class MoveColor(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x0008 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="rateX", Tag=0, Type=int), + ClusterObjectFieldDescriptor(Label="rateY", Tag=1, Type=int), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint), + ]) + rateX: 'int' = 0 + rateY: 'int' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 -@dataclass -class TotalTrihalomethanesConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x041E + @dataclass + class StepColor(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x0009 + is_client: typing.ClassVar[bool] = True - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="stepX", Tag=0, Type=int), + ClusterObjectFieldDescriptor(Label="stepY", Tag=1, Type=int), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), + ]) - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + stepX: 'int' = 0 + stepY: 'int' = 0 + transitionTime: 'uint' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 + @dataclass + class MoveToColorTemperature(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x000A + is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="colorTemperature", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint), + ]) + colorTemperature: 'uint' = 0 + transitionTime: 'uint' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 + class EnhancedMoveToHue(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x0040 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="enhancedHue", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="direction", Tag=1, Type=ColorControl.Enums.HueDirection), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), + ]) - value: 'float32' = 0.0 + enhancedHue: 'uint' = 0 + direction: 'ColorControl.Enums.HueDirection' = 0 + transitionTime: 'uint' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 + class EnhancedMoveHue(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x0041 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=ColorControl.Enums.HueMoveMode), + ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=3, Type=uint), + ]) - value: 'float32' = 0.0 + moveMode: 'ColorControl.Enums.HueMoveMode' = 0 + rate: 'uint' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 + class EnhancedStepHue(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x0042 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=ColorControl.Enums.HueStepMode), + ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), + ]) - value: 'float32' = 0.0 + stepMode: 'ColorControl.Enums.HueStepMode' = 0 + stepSize: 'uint' = 0 + transitionTime: 'uint' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 @dataclass - class Tolerance(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000003 + class EnhancedMoveToHueAndSaturation(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x0043 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="enhancedHue", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="saturation", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=4, Type=uint), + ]) - value: 'typing.Optional[float32]' = None + enhancedHue: 'uint' = 0 + saturation: 'uint' = 0 + transitionTime: 'uint' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 + class ColorLoopSet(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x0044 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="updateFlags", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="action", Tag=1, Type=ColorControl.Enums.ColorLoopAction), + ClusterObjectFieldDescriptor(Label="direction", Tag=2, Type=ColorControl.Enums.ColorLoopDirection), + ClusterObjectFieldDescriptor(Label="time", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="startHue", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=5, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=6, Type=uint), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + updateFlags: 'uint' = 0 + action: 'ColorControl.Enums.ColorLoopAction' = 0 + direction: 'ColorControl.Enums.ColorLoopDirection' = 0 + time: 'uint' = 0 + startHue: 'uint' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 + class StopMoveStep(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x0047 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=1, Type=uint), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041E - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB + class MoveColorTemperature(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x004B + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="moveMode", Tag=0, Type=ColorControl.Enums.HueMoveMode), + ClusterObjectFieldDescriptor(Label="rate", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="colorTemperatureMinimumMireds", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="colorTemperatureMaximumMireds", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=5, Type=uint), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + moveMode: 'ColorControl.Enums.HueMoveMode' = 0 + rate: 'uint' = 0 + colorTemperatureMinimumMireds: 'uint' = 0 + colorTemperatureMaximumMireds: 'uint' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 @dataclass - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x041E + class StepColorTemperature(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0300 + command_id: typing.ClassVar[int] = 0x004C + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="stepMode", Tag=0, Type=ColorControl.Enums.HueStepMode), + ClusterObjectFieldDescriptor(Label="stepSize", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="transitionTime", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="colorTemperatureMinimumMireds", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="colorTemperatureMaximumMireds", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsMask", Tag=5, Type=uint), + ClusterObjectFieldDescriptor(Label="optionsOverride", Tag=6, Type=uint), + ]) - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + stepMode: 'ColorControl.Enums.HueStepMode' = 0 + stepSize: 'uint' = 0 + transitionTime: 'uint' = 0 + colorTemperatureMinimumMireds: 'uint' = 0 + colorTemperatureMaximumMireds: 'uint' = 0 + optionsMask: 'uint' = 0 + optionsOverride: 'uint' = 0 - value: 'uint' = 0 + class Attributes: @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class CurrentHue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041E + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class TotalColiformBacteriaConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x041F - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class CurrentSaturation(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041F + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class RemainingTime(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041F + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class CurrentX(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041F + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class CurrentY(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041F + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00000004 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[float32]' = None + value: 'typing.Optional[uint]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class DriftCompensation(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041F + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000005 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class CompensationText(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041F + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000006 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[str]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class ColorTemperature(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041F + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000007 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class ColorMode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041F + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000008 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -28155,14 +18521,14 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class Options(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x041F + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x0000000F @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -28170,715 +18536,607 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 - - -@dataclass -class TurbidityConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0420 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - - - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class NumberOfPrimaries(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0420 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000010 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class Primary1X(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0420 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000011 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class Primary1Y(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0420 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000012 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class Primary1Intensity(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0420 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00000013 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.Optional[float32]' = None + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class Primary2X(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0420 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000015 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class Primary2Y(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0420 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000016 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class Primary2Intensity(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0420 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000017 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class Primary3X(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0420 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000019 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'uint' = 0 + value: 'typing.Optional[uint]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class Primary3Y(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0420 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x0000001A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class CopperConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0421 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class Primary3Intensity(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0421 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x0000001B @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class Primary4X(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0421 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000020 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class Primary4Y(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0421 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000021 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class Primary4Intensity(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0421 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00000022 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.Optional[float32]' = None + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class Primary5X(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0421 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000024 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class Primary5Y(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0421 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000025 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class Primary5Intensity(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0421 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000026 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class Primary6X(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0421 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000028 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'uint' = 0 + value: 'typing.Optional[uint]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class Primary6Y(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0421 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000029 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class LeadConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0422 + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + value: 'typing.Optional[uint]' = None - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @dataclass + class Primary6Intensity(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0300 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000002A + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + value: 'typing.Union[None, Nullable, uint]' = None - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class WhitePointX(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0422 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000030 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class WhitePointY(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0422 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000031 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class ColorPointRX(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0422 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000032 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class ColorPointRY(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0422 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00000033 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[float32]' = None + value: 'typing.Optional[uint]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class ColorPointRIntensity(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0422 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000034 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class ColorPointGX(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0422 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000036 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class ColorPointGY(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0422 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000037 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class ColorPointGIntensity(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0422 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000038 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'uint' = 0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class ColorPointBX(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0422 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x0000003A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class ManganeseConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0423 + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + value: 'typing.Optional[uint]' = None - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @dataclass + class ColorPointBY(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0300 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000003B + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class ColorPointBIntensity(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0423 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x0000003C @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class EnhancedCurrentHue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0423 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00004000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class EnhancedColorMode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0423 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00004001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'float32' = 0.0 + value: 'uint' = 0 @dataclass - class Tolerance(ClusterAttributeDescriptor): + class ColorLoopActive(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0423 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00004002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[float32]' = None + value: 'typing.Optional[uint]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class ColorLoopDirection(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0423 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00004003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class ColorLoopTime(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0423 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00004004 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class ColorLoopStartEnhancedHue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0423 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00004005 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class ColorLoopStoredEnhancedHue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0423 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00004006 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'uint' = 0 + value: 'typing.Optional[uint]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class ColorCapabilities(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0423 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x0000400A @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -28886,110 +19144,75 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 - - -@dataclass -class SulfateConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0424 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - - - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class ColorTempPhysicalMinMireds(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0424 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x0000400B @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class ColorTempPhysicalMaxMireds(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0424 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x0000400C @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class CoupleColorTempToLevelMinMireds(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0424 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x0000400D @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class StartUpColorTemperatureMireds(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0424 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00004010 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[float32]' = None + value: 'typing.Optional[uint]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0424 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29005,7 +19228,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0424 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29021,7 +19244,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0424 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29037,7 +19260,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0424 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29053,7 +19276,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0424 + return 0x0300 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29068,17 +19291,27 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class BromodichloromethaneConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0425 +class BallastConfiguration(Cluster): + id: typing.ClassVar[int] = 0x0301 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), + ClusterObjectFieldDescriptor(Label="physicalMinLevel", Tag=0x00000000, Type=uint), + ClusterObjectFieldDescriptor(Label="physicalMaxLevel", Tag=0x00000001, Type=uint), + ClusterObjectFieldDescriptor(Label="ballastStatus", Tag=0x00000002, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="minLevel", Tag=0x00000010, Type=uint), + ClusterObjectFieldDescriptor(Label="maxLevel", Tag=0x00000011, Type=uint), + ClusterObjectFieldDescriptor(Label="intrinsicBalanceFactor", Tag=0x00000014, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="ballastFactorAdjustment", Tag=0x00000015, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="lampQuantity", Tag=0x00000020, Type=uint), + ClusterObjectFieldDescriptor(Label="lampType", Tag=0x00000030, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="lampManufacturer", Tag=0x00000031, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="lampRatedHours", Tag=0x00000032, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="lampBurnHours", Tag=0x00000033, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="lampAlarmMode", Tag=0x00000034, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="lampBurnHoursTripPoint", Tag=0x00000035, Type=typing.Union[None, Nullable, uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -29086,10 +19319,20 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None + physicalMinLevel: 'uint' = None + physicalMaxLevel: 'uint' = None + ballastStatus: 'typing.Optional[uint]' = None + minLevel: 'uint' = None + maxLevel: 'uint' = None + intrinsicBalanceFactor: 'typing.Union[None, Nullable, uint]' = None + ballastFactorAdjustment: 'typing.Union[None, Nullable, uint]' = None + lampQuantity: 'uint' = None + lampType: 'typing.Optional[str]' = None + lampManufacturer: 'typing.Optional[str]' = None + lampRatedHours: 'typing.Union[None, Nullable, uint]' = None + lampBurnHours: 'typing.Union[None, Nullable, uint]' = None + lampAlarmMode: 'typing.Optional[uint]' = None + lampBurnHoursTripPoint: 'typing.Union[None, Nullable, uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None @@ -29101,10 +19344,10 @@ def descriptor(cls) -> ClusterObjectDescriptor: class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class PhysicalMinLevel(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0425 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29112,15 +19355,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'float32' = 0.0 + value: 'uint' = 0 @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class PhysicalMaxLevel(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0425 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29128,15 +19371,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'float32' = 0.0 + value: 'uint' = 0 @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class BallastStatus(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0425 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29144,83 +19387,83 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class MinLevel(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0425 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00000010 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[float32]' = None + value: 'uint' = 0 @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class MaxLevel(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0425 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000011 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'uint' = 0 @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class IntrinsicBalanceFactor(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0425 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000014 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class BallastFactorAdjustment(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0425 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000015 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class LampQuantity(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0425 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000020 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -29229,125 +19472,106 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class LampType(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0425 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000030 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class BromoformConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0426 + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + value: 'typing.Optional[str]' = None - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + @dataclass + class LampManufacturer(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0301 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000031 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + value: 'typing.Optional[str]' = None - class Attributes: @dataclass - class MeasuredValue(ClusterAttributeDescriptor): + class LampRatedHours(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0426 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000032 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class MinMeasuredValue(ClusterAttributeDescriptor): + class LampBurnHours(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0426 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000033 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class MaxMeasuredValue(ClusterAttributeDescriptor): + class LampAlarmMode(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0426 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000034 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'float32' = 0.0 + value: 'typing.Optional[uint]' = None @dataclass - class Tolerance(ClusterAttributeDescriptor): + class LampBurnHoursTripPoint(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0426 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x00000035 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.Optional[float32]' = None + value: 'typing.Union[None, Nullable, uint]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0426 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29363,7 +19587,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0426 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29379,7 +19603,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0426 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29395,7 +19619,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0426 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29411,7 +19635,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0426 + return 0x0301 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29426,17 +19650,18 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class ChlorodibromomethaneConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0427 +class IlluminanceMeasurement(Cluster): + id: typing.ClassVar[int] = 0x0400 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), + ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="lightSensorType", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -29444,16 +19669,22 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None + measuredValue: 'typing.Union[Nullable, uint]' = None + minMeasuredValue: 'typing.Union[Nullable, uint]' = None + maxMeasuredValue: 'typing.Union[Nullable, uint]' = None + tolerance: 'typing.Optional[uint]' = None + lightSensorType: 'typing.Union[None, Nullable, uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None + class Enums: + class LightSensorType(IntEnum): + kPhotodiode = 0x00 + kCmos = 0x01 + @@ -29462,7 +19693,7 @@ class Attributes: class MeasuredValue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0427 + return 0x0400 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29470,15 +19701,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass class MinMeasuredValue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0427 + return 0x0400 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29486,15 +19717,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass class MaxMeasuredValue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0427 + return 0x0400 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29502,15 +19733,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'float32' = 0.0 + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass class Tolerance(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0427 + return 0x0400 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29518,15 +19749,31 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[float32]' = None + value: 'typing.Optional[uint]' = None + + @dataclass + class LightSensorType(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0400 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000004 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + + value: 'typing.Union[None, Nullable, uint]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0427 + return 0x0400 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29542,7 +19789,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0427 + return 0x0400 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29558,7 +19805,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0427 + return 0x0400 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29574,7 +19821,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0427 + return 0x0400 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29590,7 +19837,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0427 + return 0x0400 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29605,17 +19852,17 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class ChloroformConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0428 +class TemperatureMeasurement(Cluster): + id: typing.ClassVar[int] = 0x0402 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), + ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=typing.Union[Nullable, int]), + ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=typing.Union[Nullable, int]), + ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=typing.Union[Nullable, int]), + ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -29623,10 +19870,10 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None + measuredValue: 'typing.Union[Nullable, int]' = None + minMeasuredValue: 'typing.Union[Nullable, int]' = None + maxMeasuredValue: 'typing.Union[Nullable, int]' = None + tolerance: 'typing.Optional[uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None @@ -29641,7 +19888,7 @@ class Attributes: class MeasuredValue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0428 + return 0x0402 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29649,15 +19896,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) - value: 'float32' = 0.0 + value: 'typing.Union[Nullable, int]' = NullValue @dataclass class MinMeasuredValue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0428 + return 0x0402 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29665,15 +19912,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) - value: 'float32' = 0.0 + value: 'typing.Union[Nullable, int]' = NullValue @dataclass class MaxMeasuredValue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0428 + return 0x0402 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29681,15 +19928,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) - value: 'float32' = 0.0 + value: 'typing.Union[Nullable, int]' = NullValue @dataclass class Tolerance(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0428 + return 0x0402 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29697,15 +19944,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Optional[float32]' = None + value: 'typing.Optional[uint]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0428 + return 0x0402 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29721,7 +19968,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0428 + return 0x0402 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29737,7 +19984,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0428 + return 0x0402 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29753,7 +20000,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0428 + return 0x0402 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29769,7 +20016,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0428 + return 0x0402 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29784,17 +20031,22 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class SodiumConcentrationMeasurement(Cluster): - id: typing.ClassVar[int] = 0x0429 +class PressureMeasurement(Cluster): + id: typing.ClassVar[int] = 0x0403 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=float32), - ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=float32), - ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=float32), - ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[float32]), + ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=typing.Union[Nullable, int]), + ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=typing.Union[Nullable, int]), + ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=typing.Union[Nullable, int]), + ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="scaledValue", Tag=0x00000010, Type=typing.Union[None, Nullable, int]), + ClusterObjectFieldDescriptor(Label="minScaledValue", Tag=0x00000011, Type=typing.Union[None, Nullable, int]), + ClusterObjectFieldDescriptor(Label="maxScaledValue", Tag=0x00000012, Type=typing.Union[None, Nullable, int]), + ClusterObjectFieldDescriptor(Label="scaledTolerance", Tag=0x00000013, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="scale", Tag=0x00000014, Type=typing.Optional[int]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -29802,10 +20054,15 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - measuredValue: 'float32' = None - minMeasuredValue: 'float32' = None - maxMeasuredValue: 'float32' = None - tolerance: 'typing.Optional[float32]' = None + measuredValue: 'typing.Union[Nullable, int]' = None + minMeasuredValue: 'typing.Union[Nullable, int]' = None + maxMeasuredValue: 'typing.Union[Nullable, int]' = None + tolerance: 'typing.Optional[uint]' = None + scaledValue: 'typing.Union[None, Nullable, int]' = None + minScaledValue: 'typing.Union[None, Nullable, int]' = None + maxScaledValue: 'typing.Union[None, Nullable, int]' = None + scaledTolerance: 'typing.Optional[uint]' = None + scale: 'typing.Optional[int]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None @@ -29820,7 +20077,7 @@ class Attributes: class MeasuredValue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0429 + return 0x0403 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29828,15 +20085,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) - value: 'float32' = 0.0 + value: 'typing.Union[Nullable, int]' = NullValue @dataclass class MinMeasuredValue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0429 + return 0x0403 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29844,15 +20101,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) - value: 'float32' = 0.0 + value: 'typing.Union[Nullable, int]' = NullValue @dataclass class MaxMeasuredValue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0429 + return 0x0403 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29860,15 +20117,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=float32) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int]) - value: 'float32' = 0.0 + value: 'typing.Union[Nullable, int]' = NullValue @dataclass class Tolerance(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0429 + return 0x0403 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -29876,140 +20133,95 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) - - value: 'typing.Optional[float32]' = None - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0429 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class ScaledValue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0429 + return 0x0403 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000010 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, int]' = None @dataclass - class AttributeList(ClusterAttributeDescriptor): + class MinScaledValue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0429 + return 0x0403 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000011 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, int]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class MaxScaledValue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0429 + return 0x0403 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000012 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int]) - value: 'uint' = 0 + value: 'typing.Union[None, Nullable, int]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class ScaledTolerance(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0429 + return 0x0403 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000013 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class WakeOnLan(Cluster): - id: typing.ClassVar[int] = 0x0503 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="MACAddress", Tag=0x00000000, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - MACAddress: 'typing.Optional[str]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Attributes: @dataclass - class MACAddress(ClusterAttributeDescriptor): + class Scale(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0503 + return 0x0403 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000014 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[int]) - value: 'typing.Optional[str]' = None + value: 'typing.Optional[int]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0503 + return 0x0403 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30025,7 +20237,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0503 + return 0x0403 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30041,7 +20253,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0503 + return 0x0403 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30057,7 +20269,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0503 + return 0x0403 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30073,7 +20285,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0503 + return 0x0403 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30088,16 +20300,17 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class Channel(Cluster): - id: typing.ClassVar[int] = 0x0504 +class FlowMeasurement(Cluster): + id: typing.ClassVar[int] = 0x0404 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="channelList", Tag=0x00000000, Type=typing.Optional[typing.List[Channel.Structs.ChannelInfo]]), - ClusterObjectFieldDescriptor(Label="lineup", Tag=0x00000001, Type=typing.Union[None, Nullable, Channel.Structs.LineupInfo]), - ClusterObjectFieldDescriptor(Label="currentChannel", Tag=0x00000002, Type=typing.Union[None, Nullable, Channel.Structs.ChannelInfo]), + ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -30105,184 +20318,89 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - channelList: 'typing.Optional[typing.List[Channel.Structs.ChannelInfo]]' = None - lineup: 'typing.Union[None, Nullable, Channel.Structs.LineupInfo]' = None - currentChannel: 'typing.Union[None, Nullable, Channel.Structs.ChannelInfo]' = None + measuredValue: 'typing.Union[Nullable, uint]' = None + minMeasuredValue: 'typing.Union[Nullable, uint]' = None + maxMeasuredValue: 'typing.Union[Nullable, uint]' = None + tolerance: 'typing.Optional[uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None - class Enums: - class ChannelStatusEnum(IntEnum): - kSuccess = 0x00 - kMultipleMatches = 0x01 - kNoMatches = 0x02 - - class LineupInfoTypeEnum(IntEnum): - kMso = 0x00 - - - class Structs: - @dataclass - class ChannelInfo(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="majorNumber", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="minorNumber", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="name", Tag=2, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="callSign", Tag=3, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="affiliateCallSign", Tag=4, Type=typing.Optional[str]), - ]) - - majorNumber: 'uint' = 0 - minorNumber: 'uint' = 0 - name: 'typing.Optional[str]' = None - callSign: 'typing.Optional[str]' = None - affiliateCallSign: 'typing.Optional[str]' = None - - @dataclass - class LineupInfo(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="operatorName", Tag=0, Type=str), - ClusterObjectFieldDescriptor(Label="lineupName", Tag=1, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="postalCode", Tag=2, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="lineupInfoType", Tag=3, Type=Channel.Enums.LineupInfoTypeEnum), - ]) - - operatorName: 'str' = "" - lineupName: 'typing.Optional[str]' = None - postalCode: 'typing.Optional[str]' = None - lineupInfoType: 'Channel.Enums.LineupInfoTypeEnum' = 0 - - - - class Commands: - @dataclass - class ChangeChannel(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0504 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="match", Tag=0, Type=str), - ]) - - match: 'str' = "" - - @dataclass - class ChangeChannelResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0504 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=Channel.Enums.ChannelStatusEnum), - ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=typing.Optional[str]), - ]) - - status: 'Channel.Enums.ChannelStatusEnum' = 0 - data: 'typing.Optional[str]' = None - - @dataclass - class ChangeChannelByNumber(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0504 - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = True - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="majorNumber", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="minorNumber", Tag=1, Type=uint), - ]) - majorNumber: 'uint' = 0 - minorNumber: 'uint' = 0 + class Attributes: @dataclass - class SkipChannel(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0504 - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = True + class MeasuredValue(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0404 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="count", Tag=0, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x00000000 - count: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) + value: 'typing.Union[Nullable, uint]' = NullValue - class Attributes: @dataclass - class ChannelList(ClusterAttributeDescriptor): + class MinMeasuredValue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0504 + return 0x0404 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[Channel.Structs.ChannelInfo]]) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'typing.Optional[typing.List[Channel.Structs.ChannelInfo]]' = None + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class Lineup(ClusterAttributeDescriptor): + class MaxMeasuredValue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0504 + return 0x0404 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, Channel.Structs.LineupInfo]) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'typing.Union[None, Nullable, Channel.Structs.LineupInfo]' = None + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class CurrentChannel(ClusterAttributeDescriptor): + class Tolerance(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0504 + return 0x0404 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x00000003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, Channel.Structs.ChannelInfo]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[None, Nullable, Channel.Structs.ChannelInfo]' = None + value: 'typing.Optional[uint]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0504 + return 0x0404 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30298,7 +20416,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0504 + return 0x0404 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30314,7 +20432,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0504 + return 0x0404 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30330,7 +20448,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0504 + return 0x0404 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30346,7 +20464,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0504 + return 0x0404 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30361,15 +20479,17 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class TargetNavigator(Cluster): - id: typing.ClassVar[int] = 0x0505 +class RelativeHumidityMeasurement(Cluster): + id: typing.ClassVar[int] = 0x0405 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="targetList", Tag=0x00000000, Type=typing.List[TargetNavigator.Structs.TargetInfo]), - ClusterObjectFieldDescriptor(Label="currentTarget", Tag=0x00000001, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="measuredValue", Tag=0x00000000, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="minMeasuredValue", Tag=0x00000001, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="maxMeasuredValue", Tag=0x00000002, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="tolerance", Tag=0x00000003, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -30377,99 +20497,77 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - targetList: 'typing.List[TargetNavigator.Structs.TargetInfo]' = None - currentTarget: 'typing.Optional[uint]' = None + measuredValue: 'typing.Union[Nullable, uint]' = None + minMeasuredValue: 'typing.Union[Nullable, uint]' = None + maxMeasuredValue: 'typing.Union[Nullable, uint]' = None + tolerance: 'typing.Optional[uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None - class Enums: - class TargetNavigatorStatusEnum(IntEnum): - kSuccess = 0x00 - kTargetNotFound = 0x01 - kNotAllowed = 0x02 - class Structs: + + class Attributes: @dataclass - class TargetInfo(ClusterObject): + class MeasuredValue(ClusterAttributeDescriptor): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="identifier", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=str), - ]) - - identifier: 'uint' = 0 - name: 'str' = "" - - + def cluster_id(cls) -> int: + return 0x0405 - class Commands: - @dataclass - class NavigateTarget(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0505 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000000 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="target", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=typing.Optional[str]), - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - target: 'uint' = 0 - data: 'typing.Optional[str]' = None + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class NavigateTargetResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0505 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = False + class MinMeasuredValue(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0405 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=TargetNavigator.Enums.TargetNavigatorStatusEnum), - ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=typing.Optional[str]), - ]) + def attribute_id(cls) -> int: + return 0x00000001 - status: 'TargetNavigator.Enums.TargetNavigatorStatusEnum' = 0 - data: 'typing.Optional[str]' = None + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) + value: 'typing.Union[Nullable, uint]' = NullValue - class Attributes: @dataclass - class TargetList(ClusterAttributeDescriptor): + class MaxMeasuredValue(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0505 + return 0x0405 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[TargetNavigator.Structs.TargetInfo]) + return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, uint]) - value: 'typing.List[TargetNavigator.Structs.TargetInfo]' = field(default_factory=lambda: []) + value: 'typing.Union[Nullable, uint]' = NullValue @dataclass - class CurrentTarget(ClusterAttributeDescriptor): + class Tolerance(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0505 + return 0x0405 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -30481,7 +20579,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0505 + return 0x0405 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30497,7 +20595,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0505 + return 0x0405 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30513,7 +20611,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0505 + return 0x0405 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30529,7 +20627,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0505 + return 0x0405 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30545,7 +20643,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0505 + return 0x0405 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30560,20 +20658,25 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class MediaPlayback(Cluster): - id: typing.ClassVar[int] = 0x0506 +class OccupancySensing(Cluster): + id: typing.ClassVar[int] = 0x0406 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="currentState", Tag=0x00000000, Type=MediaPlayback.Enums.PlaybackStateEnum), - ClusterObjectFieldDescriptor(Label="startTime", Tag=0x00000001, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="duration", Tag=0x00000002, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="sampledPosition", Tag=0x00000003, Type=typing.Union[None, Nullable, MediaPlayback.Structs.PlaybackPosition]), - ClusterObjectFieldDescriptor(Label="playbackSpeed", Tag=0x00000004, Type=typing.Optional[float32]), - ClusterObjectFieldDescriptor(Label="seekRangeEnd", Tag=0x00000005, Type=typing.Union[None, Nullable, uint]), - ClusterObjectFieldDescriptor(Label="seekRangeStart", Tag=0x00000006, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="occupancy", Tag=0x00000000, Type=uint), + ClusterObjectFieldDescriptor(Label="occupancySensorType", Tag=0x00000001, Type=uint), + ClusterObjectFieldDescriptor(Label="occupancySensorTypeBitmap", Tag=0x00000002, Type=uint), + ClusterObjectFieldDescriptor(Label="pirOccupiedToUnoccupiedDelay", Tag=0x00000010, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="pirUnoccupiedToOccupiedDelay", Tag=0x00000011, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="pirUnoccupiedToOccupiedThreshold", Tag=0x00000012, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="ultrasonicOccupiedToUnoccupiedDelay", Tag=0x00000020, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="ultrasonicUnoccupiedToOccupiedDelay", Tag=0x00000021, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="ultrasonicUnoccupiedToOccupiedThreshold", Tag=0x00000022, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="physicalContactOccupiedToUnoccupiedDelay", Tag=0x00000030, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="physicalContactUnoccupiedToOccupiedDelay", Tag=0x00000031, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="physicalContactUnoccupiedToOccupiedThreshold", Tag=0x00000032, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -30581,337 +20684,350 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - currentState: 'MediaPlayback.Enums.PlaybackStateEnum' = None - startTime: 'typing.Union[None, Nullable, uint]' = None - duration: 'typing.Union[None, Nullable, uint]' = None - sampledPosition: 'typing.Union[None, Nullable, MediaPlayback.Structs.PlaybackPosition]' = None - playbackSpeed: 'typing.Optional[float32]' = None - seekRangeEnd: 'typing.Union[None, Nullable, uint]' = None - seekRangeStart: 'typing.Union[None, Nullable, uint]' = None + occupancy: 'uint' = None + occupancySensorType: 'uint' = None + occupancySensorTypeBitmap: 'uint' = None + pirOccupiedToUnoccupiedDelay: 'typing.Optional[uint]' = None + pirUnoccupiedToOccupiedDelay: 'typing.Optional[uint]' = None + pirUnoccupiedToOccupiedThreshold: 'typing.Optional[uint]' = None + ultrasonicOccupiedToUnoccupiedDelay: 'typing.Optional[uint]' = None + ultrasonicUnoccupiedToOccupiedDelay: 'typing.Optional[uint]' = None + ultrasonicUnoccupiedToOccupiedThreshold: 'typing.Optional[uint]' = None + physicalContactOccupiedToUnoccupiedDelay: 'typing.Optional[uint]' = None + physicalContactUnoccupiedToOccupiedDelay: 'typing.Optional[uint]' = None + physicalContactUnoccupiedToOccupiedThreshold: 'typing.Optional[uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - class Enums: - class MediaPlaybackStatusEnum(IntEnum): - kSuccess = 0x00 - kInvalidStateForCommand = 0x01 - kNotAllowed = 0x02 - kNotActive = 0x03 - kSpeedOutOfRange = 0x04 - kSeekOutOfRange = 0x05 - - class PlaybackStateEnum(IntEnum): - kPlaying = 0x00 - kPaused = 0x01 - kNotPlaying = 0x02 - kBuffering = 0x03 - - - class Structs: - @dataclass - class PlaybackPosition(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="updatedAt", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="position", Tag=1, Type=typing.Union[Nullable, uint]), - ]) + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None - updatedAt: 'uint' = 0 - position: 'typing.Union[Nullable, uint]' = NullValue - class Commands: + class Attributes: @dataclass - class Play(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0506 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - + class Occupancy(ClusterAttributeDescriptor): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - + def cluster_id(cls) -> int: + return 0x0406 - @dataclass - class Pause(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0506 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000000 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + value: 'uint' = 0 @dataclass - class StopPlayback(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0506 - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = True + class OccupancySensorType(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0406 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) + def attribute_id(cls) -> int: + return 0x00000001 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + value: 'uint' = 0 @dataclass - class StartOver(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0506 - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = True + class OccupancySensorTypeBitmap(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0406 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) + def attribute_id(cls) -> int: + return 0x00000002 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + value: 'uint' = 0 @dataclass - class Previous(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0506 - command_id: typing.ClassVar[int] = 0x0004 - is_client: typing.ClassVar[bool] = True + class PirOccupiedToUnoccupiedDelay(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0406 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) + def attribute_id(cls) -> int: + return 0x00000010 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None @dataclass - class Next(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0506 - command_id: typing.ClassVar[int] = 0x0005 - is_client: typing.ClassVar[bool] = True + class PirUnoccupiedToOccupiedDelay(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0406 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) + def attribute_id(cls) -> int: + return 0x00000011 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None @dataclass - class Rewind(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0506 - command_id: typing.ClassVar[int] = 0x0006 - is_client: typing.ClassVar[bool] = True + class PirUnoccupiedToOccupiedThreshold(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0406 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) + def attribute_id(cls) -> int: + return 0x00000012 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None @dataclass - class FastForward(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0506 - command_id: typing.ClassVar[int] = 0x0007 - is_client: typing.ClassVar[bool] = True + class UltrasonicOccupiedToUnoccupiedDelay(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0406 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) + def attribute_id(cls) -> int: + return 0x00000020 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None @dataclass - class SkipForward(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0506 - command_id: typing.ClassVar[int] = 0x0008 - is_client: typing.ClassVar[bool] = True + class UltrasonicUnoccupiedToOccupiedDelay(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0406 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="deltaPositionMilliseconds", Tag=0, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x00000021 - deltaPositionMilliseconds: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None @dataclass - class SkipBackward(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0506 - command_id: typing.ClassVar[int] = 0x0009 - is_client: typing.ClassVar[bool] = True + class UltrasonicUnoccupiedToOccupiedThreshold(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0406 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="deltaPositionMilliseconds", Tag=0, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x00000022 - deltaPositionMilliseconds: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None @dataclass - class PlaybackResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0506 - command_id: typing.ClassVar[int] = 0x000A - is_client: typing.ClassVar[bool] = False + class PhysicalContactOccupiedToUnoccupiedDelay(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0406 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatusEnum), - ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=typing.Optional[str]), - ]) + def attribute_id(cls) -> int: + return 0x00000030 - status: 'MediaPlayback.Enums.MediaPlaybackStatusEnum' = 0 - data: 'typing.Optional[str]' = None + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None @dataclass - class Seek(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0506 - command_id: typing.ClassVar[int] = 0x000B - is_client: typing.ClassVar[bool] = True + class PhysicalContactUnoccupiedToOccupiedDelay(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0406 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="position", Tag=0, Type=uint), - ]) + def attribute_id(cls) -> int: + return 0x00000031 - position: 'uint' = 0 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Attributes: @dataclass - class CurrentState(ClusterAttributeDescriptor): + class PhysicalContactUnoccupiedToOccupiedThreshold(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0506 + return 0x0406 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000032 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=MediaPlayback.Enums.PlaybackStateEnum) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'MediaPlayback.Enums.PlaybackStateEnum' = 0 + value: 'typing.Optional[uint]' = None @dataclass - class StartTime(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0506 + return 0x0406 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Duration(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0506 + return 0x0406 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000002 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class SampledPosition(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0506 + return 0x0406 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, MediaPlayback.Structs.PlaybackPosition]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Union[None, Nullable, MediaPlayback.Structs.PlaybackPosition]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class PlaybackSpeed(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0506 + return 0x0406 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000004 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[float32]' = None + value: 'uint' = 0 @dataclass - class SeekRangeEnd(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0506 + return 0x0406 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000005 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'uint' = 0 + + + +@dataclass +class WakeOnLan(Cluster): + id: typing.ClassVar[int] = 0x0503 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="MACAddress", Tag=0x00000000, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) + + MACAddress: 'typing.Optional[str]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + + + + class Attributes: @dataclass - class SeekRangeStart(ClusterAttributeDescriptor): + class MACAddress(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0506 + return 0x0503 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000006 + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'typing.Union[None, Nullable, uint]' = None + value: 'typing.Optional[str]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0506 + return 0x0503 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30927,7 +21043,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0506 + return 0x0503 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30943,7 +21059,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0506 + return 0x0503 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30959,7 +21075,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0506 + return 0x0503 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30975,7 +21091,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0506 + return 0x0503 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -30990,15 +21106,16 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class MediaInput(Cluster): - id: typing.ClassVar[int] = 0x0507 +class Channel(Cluster): + id: typing.ClassVar[int] = 0x0504 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="inputList", Tag=0x00000000, Type=typing.List[MediaInput.Structs.InputInfo]), - ClusterObjectFieldDescriptor(Label="currentInput", Tag=0x00000001, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="channelList", Tag=0x00000000, Type=typing.Optional[typing.List[Channel.Structs.ChannelInfo]]), + ClusterObjectFieldDescriptor(Label="lineup", Tag=0x00000001, Type=typing.Union[None, Nullable, Channel.Structs.LineupInfo]), + ClusterObjectFieldDescriptor(Label="currentChannel", Tag=0x00000002, Type=typing.Union[None, Nullable, Channel.Structs.ChannelInfo]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -31006,8 +21123,9 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - inputList: 'typing.List[MediaInput.Structs.InputInfo]' = None - currentInput: 'typing.Optional[uint]' = None + channelList: 'typing.Optional[typing.List[Channel.Structs.ChannelInfo]]' = None + lineup: 'typing.Union[None, Nullable, Channel.Structs.LineupInfo]' = None + currentChannel: 'typing.Union[None, Nullable, Channel.Structs.ChannelInfo]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None @@ -31015,260 +21133,174 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Enums: - class InputTypeEnum(IntEnum): - kInternal = 0x00 - kAux = 0x01 - kCoax = 0x02 - kComposite = 0x03 - kHdmi = 0x04 - kInput = 0x05 - kLine = 0x06 - kOptical = 0x07 - kVideo = 0x08 - kScart = 0x09 - kUsb = 0x0A - kOther = 0x0B + class ChannelStatusEnum(IntEnum): + kSuccess = 0x00 + kMultipleMatches = 0x01 + kNoMatches = 0x02 + + class LineupInfoTypeEnum(IntEnum): + kMso = 0x00 class Structs: @dataclass - class InputInfo(ClusterObject): + class ChannelInfo(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="index", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="inputType", Tag=1, Type=MediaInput.Enums.InputTypeEnum), - ClusterObjectFieldDescriptor(Label="name", Tag=2, Type=str), - ClusterObjectFieldDescriptor(Label="description", Tag=3, Type=str), + ClusterObjectFieldDescriptor(Label="majorNumber", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="minorNumber", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="name", Tag=2, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="callSign", Tag=3, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="affiliateCallSign", Tag=4, Type=typing.Optional[str]), ]) - index: 'uint' = 0 - inputType: 'MediaInput.Enums.InputTypeEnum' = 0 - name: 'str' = "" - description: 'str' = "" - - + majorNumber: 'uint' = 0 + minorNumber: 'uint' = 0 + name: 'typing.Optional[str]' = None + callSign: 'typing.Optional[str]' = None + affiliateCallSign: 'typing.Optional[str]' = None - class Commands: @dataclass - class SelectInput(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0507 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - + class LineupInfo(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="index", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="operatorName", Tag=0, Type=str), + ClusterObjectFieldDescriptor(Label="lineupName", Tag=1, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="postalCode", Tag=2, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="lineupInfoType", Tag=3, Type=Channel.Enums.LineupInfoTypeEnum), ]) - index: 'uint' = 0 + operatorName: 'str' = "" + lineupName: 'typing.Optional[str]' = None + postalCode: 'typing.Optional[str]' = None + lineupInfoType: 'Channel.Enums.LineupInfoTypeEnum' = 0 + + + class Commands: @dataclass - class ShowInputStatus(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0507 - command_id: typing.ClassVar[int] = 0x0001 + class ChangeChannel(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0504 + command_id: typing.ClassVar[int] = 0x0000 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ + ClusterObjectFieldDescriptor(Label="match", Tag=0, Type=str), ]) + match: 'str' = "" @dataclass - class HideInputStatus(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0507 - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = True + class ChangeChannelResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0504 + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=Channel.Enums.ChannelStatusEnum), + ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=typing.Optional[str]), ]) + status: 'Channel.Enums.ChannelStatusEnum' = 0 + data: 'typing.Optional[str]' = None @dataclass - class RenameInput(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0507 - command_id: typing.ClassVar[int] = 0x0003 + class ChangeChannelByNumber(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0504 + command_id: typing.ClassVar[int] = 0x0002 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="index", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=str), + ClusterObjectFieldDescriptor(Label="majorNumber", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="minorNumber", Tag=1, Type=uint), ]) - index: 'uint' = 0 - name: 'str' = "" - - - class Attributes: - @dataclass - class InputList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0507 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[MediaInput.Structs.InputInfo]) - - value: 'typing.List[MediaInput.Structs.InputInfo]' = field(default_factory=lambda: []) - - @dataclass - class CurrentInput(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0507 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0507 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) + majorNumber: 'uint' = 0 + minorNumber: 'uint' = 0 @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0507 + class SkipChannel(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0504 + command_id: typing.ClassVar[int] = 0x0003 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="count", Tag=0, Type=uint), + ]) - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + count: 'uint' = 0 - value: 'typing.List[uint]' = field(default_factory=lambda: []) + class Attributes: @dataclass - class AttributeList(ClusterAttributeDescriptor): + class ChannelList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0507 + return 0x0504 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[Channel.Structs.ChannelInfo]]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[typing.List[Channel.Structs.ChannelInfo]]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class Lineup(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0507 + return 0x0504 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, Channel.Structs.LineupInfo]) - value: 'uint' = 0 + value: 'typing.Union[None, Nullable, Channel.Structs.LineupInfo]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class CurrentChannel(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0507 + return 0x0504 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class LowPower(Cluster): - id: typing.ClassVar[int] = 0x0508 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - - - class Commands: - @dataclass - class Sleep(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0508 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, Channel.Structs.ChannelInfo]) + value: 'typing.Union[None, Nullable, Channel.Structs.ChannelInfo]' = None - class Attributes: @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0508 + return 0x0504 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -31284,7 +21316,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0508 + return 0x0504 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -31300,7 +21332,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0508 + return 0x0504 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -31316,7 +21348,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0508 + return 0x0504 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -31332,7 +21364,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0508 + return 0x0504 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -31347,13 +21379,15 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class KeypadInput(Cluster): - id: typing.ClassVar[int] = 0x0509 +class TargetNavigator(Cluster): + id: typing.ClassVar[int] = 0x0505 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ + ClusterObjectFieldDescriptor(Label="targetList", Tag=0x00000000, Type=typing.List[TargetNavigator.Structs.TargetInfo]), + ClusterObjectFieldDescriptor(Label="currentTarget", Tag=0x00000001, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -31361,6 +21395,8 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) + targetList: 'typing.List[TargetNavigator.Structs.TargetInfo]' = None + currentTarget: 'typing.Optional[uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None @@ -31368,105 +21404,32 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Enums: - class CecKeyCode(IntEnum): - kSelect = 0x00 - kUp = 0x01 - kDown = 0x02 - kLeft = 0x03 - kRight = 0x04 - kRightUp = 0x05 - kRightDown = 0x06 - kLeftUp = 0x07 - kLeftDown = 0x08 - kRootMenu = 0x09 - kSetupMenu = 0x0A - kContentsMenu = 0x0B - kFavoriteMenu = 0x0C - kExit = 0x0D - kMediaTopMenu = 0x10 - kMediaContextSensitiveMenu = 0x11 - kNumberEntryMode = 0x1D - kNumber11 = 0x1E - kNumber12 = 0x1F - kNumber0OrNumber10 = 0x20 - kNumbers1 = 0x21 - kNumbers2 = 0x22 - kNumbers3 = 0x23 - kNumbers4 = 0x24 - kNumbers5 = 0x25 - kNumbers6 = 0x26 - kNumbers7 = 0x27 - kNumbers8 = 0x28 - kNumbers9 = 0x29 - kDot = 0x2A - kEnter = 0x2B - kClear = 0x2C - kNextFavorite = 0x2F - kChannelUp = 0x30 - kChannelDown = 0x31 - kPreviousChannel = 0x32 - kSoundSelect = 0x33 - kInputSelect = 0x34 - kDisplayInformation = 0x35 - kHelp = 0x36 - kPageUp = 0x37 - kPageDown = 0x38 - kPower = 0x40 - kVolumeUp = 0x41 - kVolumeDown = 0x42 - kMute = 0x43 - kPlay = 0x44 - kStop = 0x45 - kPause = 0x46 - kRecord = 0x47 - kRewind = 0x48 - kFastForward = 0x49 - kEject = 0x4A - kForward = 0x4B - kBackward = 0x4C - kStopRecord = 0x4D - kPauseRecord = 0x4E - kReserved = 0x4F - kAngle = 0x50 - kSubPicture = 0x51 - kVideoOnDemand = 0x52 - kElectronicProgramGuide = 0x53 - kTimerProgramming = 0x54 - kInitialConfiguration = 0x55 - kSelectBroadcastType = 0x56 - kSelectSoundPresentation = 0x57 - kPlayFunction = 0x60 - kPausePlayFunction = 0x61 - kRecordFunction = 0x62 - kPauseRecordFunction = 0x63 - kStopFunction = 0x64 - kMuteFunction = 0x65 - kRestoreVolumeFunction = 0x66 - kTuneFunction = 0x67 - kSelectMediaFunction = 0x68 - kSelectAvInputFunction = 0x69 - kSelectAudioInputFunction = 0x6A - kPowerToggleFunction = 0x6B - kPowerOffFunction = 0x6C - kPowerOnFunction = 0x6D - kF1Blue = 0x71 - kF2Red = 0x72 - kF3Green = 0x73 - kF4Yellow = 0x74 - kF5 = 0x75 - kData = 0x76 - - class KeypadInputStatusEnum(IntEnum): + class TargetNavigatorStatusEnum(IntEnum): kSuccess = 0x00 - kUnsupportedKey = 0x01 - kInvalidKeyInCurrentState = 0x02 + kTargetNotFound = 0x01 + kNotAllowed = 0x02 + + + class Structs: + @dataclass + class TargetInfo(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="identifier", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=str), + ]) + + identifier: 'uint' = 0 + name: 'str' = "" class Commands: @dataclass - class SendKey(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0509 + class NavigateTarget(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0505 command_id: typing.ClassVar[int] = 0x0000 is_client: typing.ClassVar[bool] = True @@ -31474,14 +21437,16 @@ class SendKey(ClusterCommand): def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="keyCode", Tag=0, Type=KeypadInput.Enums.CecKeyCode), + ClusterObjectFieldDescriptor(Label="target", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=typing.Optional[str]), ]) - keyCode: 'KeypadInput.Enums.CecKeyCode' = 0 + target: 'uint' = 0 + data: 'typing.Optional[str]' = None @dataclass - class SendKeyResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0509 + class NavigateTargetResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0505 command_id: typing.ClassVar[int] = 0x0001 is_client: typing.ClassVar[bool] = False @@ -31489,18 +21454,52 @@ class SendKeyResponse(ClusterCommand): def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=KeypadInput.Enums.KeypadInputStatusEnum), + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=TargetNavigator.Enums.TargetNavigatorStatusEnum), + ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=typing.Optional[str]), ]) - status: 'KeypadInput.Enums.KeypadInputStatusEnum' = 0 + status: 'TargetNavigator.Enums.TargetNavigatorStatusEnum' = 0 + data: 'typing.Optional[str]' = None + + + class Attributes: + @dataclass + class TargetList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0505 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000000 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[TargetNavigator.Structs.TargetInfo]) + + value: 'typing.List[TargetNavigator.Structs.TargetInfo]' = field(default_factory=lambda: []) + + @dataclass + class CurrentTarget(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0505 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000001 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Attributes: @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0509 + return 0x0505 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -31516,7 +21515,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0509 + return 0x0505 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -31532,7 +21531,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0509 + return 0x0505 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -31548,7 +21547,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0509 + return 0x0505 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -31564,7 +21563,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0509 + return 0x0505 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -31579,15 +21578,20 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class ContentLauncher(Cluster): - id: typing.ClassVar[int] = 0x050A +class MediaPlayback(Cluster): + id: typing.ClassVar[int] = 0x0506 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="acceptHeader", Tag=0x00000000, Type=typing.Optional[typing.List[str]]), - ClusterObjectFieldDescriptor(Label="supportedStreamingProtocols", Tag=0x00000001, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="currentState", Tag=0x00000000, Type=MediaPlayback.Enums.PlaybackStateEnum), + ClusterObjectFieldDescriptor(Label="startTime", Tag=0x00000001, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="duration", Tag=0x00000002, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="sampledPosition", Tag=0x00000003, Type=typing.Union[None, Nullable, MediaPlayback.Structs.PlaybackPosition]), + ClusterObjectFieldDescriptor(Label="playbackSpeed", Tag=0x00000004, Type=typing.Optional[float32]), + ClusterObjectFieldDescriptor(Label="seekRangeEnd", Tag=0x00000005, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="seekRangeStart", Tag=0x00000006, Type=typing.Union[None, Nullable, uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -31595,8 +21599,13 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - acceptHeader: 'typing.Optional[typing.List[str]]' = None - supportedStreamingProtocols: 'typing.Optional[uint]' = None + currentState: 'MediaPlayback.Enums.PlaybackStateEnum' = None + startTime: 'typing.Union[None, Nullable, uint]' = None + duration: 'typing.Union[None, Nullable, uint]' = None + sampledPosition: 'typing.Union[None, Nullable, MediaPlayback.Structs.PlaybackPosition]' = None + playbackSpeed: 'typing.Optional[float32]' = None + seekRangeEnd: 'typing.Union[None, Nullable, uint]' = None + seekRangeStart: 'typing.Union[None, Nullable, uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None @@ -31604,421 +21613,323 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Enums: - class ContentLaunchStatusEnum(IntEnum): + class MediaPlaybackStatusEnum(IntEnum): kSuccess = 0x00 - kUrlNotAvailable = 0x01 - kAuthFailed = 0x02 - - class MetricTypeEnum(IntEnum): - kPixels = 0x00 - kPercentage = 0x01 + kInvalidStateForCommand = 0x01 + kNotAllowed = 0x02 + kNotActive = 0x03 + kSpeedOutOfRange = 0x04 + kSeekOutOfRange = 0x05 - class ParameterEnum(IntEnum): - kActor = 0x00 - kChannel = 0x01 - kCharacter = 0x02 - kDirector = 0x03 - kEvent = 0x04 - kFranchise = 0x05 - kGenre = 0x06 - kLeague = 0x07 - kPopularity = 0x08 - kProvider = 0x09 - kSport = 0x0A - kSportsTeam = 0x0B - kType = 0x0C + class PlaybackStateEnum(IntEnum): + kPlaying = 0x00 + kPaused = 0x01 + kNotPlaying = 0x02 + kBuffering = 0x03 class Structs: @dataclass - class Dimension(ClusterObject): + class PlaybackPosition(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="width", Tag=0, Type=float), - ClusterObjectFieldDescriptor(Label="height", Tag=1, Type=float), - ClusterObjectFieldDescriptor(Label="metric", Tag=2, Type=ContentLauncher.Enums.MetricTypeEnum), + ClusterObjectFieldDescriptor(Label="updatedAt", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="position", Tag=1, Type=typing.Union[Nullable, uint]), ]) - width: 'float' = 0.0 - height: 'float' = 0.0 - metric: 'ContentLauncher.Enums.MetricTypeEnum' = 0 + updatedAt: 'uint' = 0 + position: 'typing.Union[Nullable, uint]' = NullValue + + + class Commands: @dataclass - class AdditionalInfo(ClusterObject): + class Play(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0506 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="name", Tag=0, Type=str), - ClusterObjectFieldDescriptor(Label="value", Tag=1, Type=str), ]) - name: 'str' = "" - value: 'str' = "" @dataclass - class Parameter(ClusterObject): + class Pause(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0506 + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="type", Tag=0, Type=ContentLauncher.Enums.ParameterEnum), - ClusterObjectFieldDescriptor(Label="value", Tag=1, Type=str), - ClusterObjectFieldDescriptor(Label="externalIDList", Tag=2, Type=typing.Optional[typing.List[ContentLauncher.Structs.AdditionalInfo]]), ]) - type: 'ContentLauncher.Enums.ParameterEnum' = 0 - value: 'str' = "" - externalIDList: 'typing.Optional[typing.List[ContentLauncher.Structs.AdditionalInfo]]' = None @dataclass - class ContentSearch(ClusterObject): + class StopPlayback(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0506 + command_id: typing.ClassVar[int] = 0x0002 + is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="parameterList", Tag=0, Type=typing.List[ContentLauncher.Structs.Parameter]), ]) - parameterList: 'typing.List[ContentLauncher.Structs.Parameter]' = field(default_factory=lambda: []) @dataclass - class StyleInformation(ClusterObject): + class StartOver(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0506 + command_id: typing.ClassVar[int] = 0x0003 + is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="imageUrl", Tag=0, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="color", Tag=1, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="size", Tag=2, Type=typing.Optional[ContentLauncher.Structs.Dimension]), ]) - imageUrl: 'typing.Optional[str]' = None - color: 'typing.Optional[str]' = None - size: 'typing.Optional[ContentLauncher.Structs.Dimension]' = None @dataclass - class BrandingInformation(ClusterObject): + class Previous(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0506 + command_id: typing.ClassVar[int] = 0x0004 + is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="providerName", Tag=0, Type=str), - ClusterObjectFieldDescriptor(Label="background", Tag=1, Type=typing.Optional[ContentLauncher.Structs.StyleInformation]), - ClusterObjectFieldDescriptor(Label="logo", Tag=2, Type=typing.Optional[ContentLauncher.Structs.StyleInformation]), - ClusterObjectFieldDescriptor(Label="progressBar", Tag=3, Type=typing.Optional[ContentLauncher.Structs.StyleInformation]), - ClusterObjectFieldDescriptor(Label="splash", Tag=4, Type=typing.Optional[ContentLauncher.Structs.StyleInformation]), - ClusterObjectFieldDescriptor(Label="waterMark", Tag=5, Type=typing.Optional[ContentLauncher.Structs.StyleInformation]), ]) - providerName: 'str' = "" - background: 'typing.Optional[ContentLauncher.Structs.StyleInformation]' = None - logo: 'typing.Optional[ContentLauncher.Structs.StyleInformation]' = None - progressBar: 'typing.Optional[ContentLauncher.Structs.StyleInformation]' = None - splash: 'typing.Optional[ContentLauncher.Structs.StyleInformation]' = None - waterMark: 'typing.Optional[ContentLauncher.Structs.StyleInformation]' = None - - - class Commands: @dataclass - class LaunchContent(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x050A - command_id: typing.ClassVar[int] = 0x0000 + class Next(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0506 + command_id: typing.ClassVar[int] = 0x0005 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="search", Tag=0, Type=ContentLauncher.Structs.ContentSearch), - ClusterObjectFieldDescriptor(Label="autoPlay", Tag=1, Type=bool), - ClusterObjectFieldDescriptor(Label="data", Tag=2, Type=typing.Optional[str]), ]) - search: 'ContentLauncher.Structs.ContentSearch' = field(default_factory=lambda: ContentLauncher.Structs.ContentSearch()) - autoPlay: 'bool' = False - data: 'typing.Optional[str]' = None @dataclass - class LaunchURL(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x050A - command_id: typing.ClassVar[int] = 0x0001 + class Rewind(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0506 + command_id: typing.ClassVar[int] = 0x0006 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="contentURL", Tag=0, Type=str), - ClusterObjectFieldDescriptor(Label="displayString", Tag=1, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="brandingInformation", Tag=2, Type=typing.Optional[ContentLauncher.Structs.BrandingInformation]), ]) - contentURL: 'str' = "" - displayString: 'typing.Optional[str]' = None - brandingInformation: 'typing.Optional[ContentLauncher.Structs.BrandingInformation]' = None @dataclass - class LaunchResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x050A - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = False + class FastForward(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0506 + command_id: typing.ClassVar[int] = 0x0007 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=ContentLauncher.Enums.ContentLaunchStatusEnum), - ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=typing.Optional[str]), ]) - status: 'ContentLauncher.Enums.ContentLaunchStatusEnum' = 0 - data: 'typing.Optional[str]' = None - - class Attributes: @dataclass - class AcceptHeader(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x050A - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 + class SkipForward(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0506 + command_id: typing.ClassVar[int] = 0x0008 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[str]]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="deltaPositionMilliseconds", Tag=0, Type=uint), + ]) - value: 'typing.Optional[typing.List[str]]' = None + deltaPositionMilliseconds: 'uint' = 0 @dataclass - class SupportedStreamingProtocols(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x050A + class SkipBackward(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0506 + command_id: typing.ClassVar[int] = 0x0009 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="deltaPositionMilliseconds", Tag=0, Type=uint), + ]) + + deltaPositionMilliseconds: 'uint' = 0 + + @dataclass + class PlaybackResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0506 + command_id: typing.ClassVar[int] = 0x000A + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=MediaPlayback.Enums.MediaPlaybackStatusEnum), + ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=typing.Optional[str]), + ]) - value: 'typing.Optional[uint]' = None + status: 'MediaPlayback.Enums.MediaPlaybackStatusEnum' = 0 + data: 'typing.Optional[str]' = None @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x050A + class Seek(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0506 + command_id: typing.ClassVar[int] = 0x000B + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="position", Tag=0, Type=uint), + ]) - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + position: 'uint' = 0 - value: 'typing.List[uint]' = field(default_factory=lambda: []) + class Attributes: @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class CurrentState(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050A + return 0x0506 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=MediaPlayback.Enums.PlaybackStateEnum) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'MediaPlayback.Enums.PlaybackStateEnum' = 0 @dataclass - class AttributeList(ClusterAttributeDescriptor): + class StartTime(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050A + return 0x0506 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class Duration(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050A + return 0x0506 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'uint' = 0 + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class SampledPosition(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050A + return 0x0506 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class AudioOutput(Cluster): - id: typing.ClassVar[int] = 0x050B - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="outputList", Tag=0x00000000, Type=typing.List[AudioOutput.Structs.OutputInfo]), - ClusterObjectFieldDescriptor(Label="currentOutput", Tag=0x00000001, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - outputList: 'typing.List[AudioOutput.Structs.OutputInfo]' = None - currentOutput: 'typing.Optional[uint]' = None - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - class Enums: - class OutputTypeEnum(IntEnum): - kHdmi = 0x00 - kBt = 0x01 - kOptical = 0x02 - kHeadphone = 0x03 - kInternal = 0x04 - kOther = 0x05 + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, MediaPlayback.Structs.PlaybackPosition]) + value: 'typing.Union[None, Nullable, MediaPlayback.Structs.PlaybackPosition]' = None - class Structs: @dataclass - class OutputInfo(ClusterObject): + class PlaybackSpeed(ClusterAttributeDescriptor): @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="index", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="outputType", Tag=1, Type=AudioOutput.Enums.OutputTypeEnum), - ClusterObjectFieldDescriptor(Label="name", Tag=2, Type=str), - ]) - - index: 'uint' = 0 - outputType: 'AudioOutput.Enums.OutputTypeEnum' = 0 - name: 'str' = "" - - - - class Commands: - @dataclass - class SelectOutput(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x050B - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True + def cluster_id(cls) -> int: + return 0x0506 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="index", Tag=0, Type=uint), - ]) - - index: 'uint' = 0 - - @dataclass - class RenameOutput(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x050B - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = True + def attribute_id(cls) -> int: + return 0x00000004 @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="index", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=str), - ]) - - index: 'uint' = 0 - name: 'str' = "" + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[float32]) + value: 'typing.Optional[float32]' = None - class Attributes: @dataclass - class OutputList(ClusterAttributeDescriptor): + class SeekRangeEnd(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050B + return 0x0506 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000000 + return 0x00000005 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[AudioOutput.Structs.OutputInfo]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.List[AudioOutput.Structs.OutputInfo]' = field(default_factory=lambda: []) + value: 'typing.Union[None, Nullable, uint]' = None @dataclass - class CurrentOutput(ClusterAttributeDescriptor): + class SeekRangeStart(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050B + return 0x0506 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000006 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.Union[None, Nullable, uint]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050B + return 0x0506 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -32034,7 +21945,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050B + return 0x0506 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -32050,7 +21961,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050B + return 0x0506 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -32066,7 +21977,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050B + return 0x0506 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -32082,7 +21993,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050B + return 0x0506 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -32097,15 +22008,15 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class ApplicationLauncher(Cluster): - id: typing.ClassVar[int] = 0x050C +class MediaInput(Cluster): + id: typing.ClassVar[int] = 0x0507 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="catalogList", Tag=0x00000000, Type=typing.Optional[typing.List[uint]]), - ClusterObjectFieldDescriptor(Label="currentApp", Tag=0x00000001, Type=typing.Union[None, Nullable, ApplicationLauncher.Structs.ApplicationEP]), + ClusterObjectFieldDescriptor(Label="inputList", Tag=0x00000000, Type=typing.List[MediaInput.Structs.InputInfo]), + ClusterObjectFieldDescriptor(Label="currentInput", Tag=0x00000001, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -32113,8 +22024,8 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - catalogList: 'typing.Optional[typing.List[uint]]' = None - currentApp: 'typing.Union[None, Nullable, ApplicationLauncher.Structs.ApplicationEP]' = None + inputList: 'typing.List[MediaInput.Structs.InputInfo]' = None + currentInput: 'typing.Optional[uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None @@ -32122,45 +22033,45 @@ def descriptor(cls) -> ClusterObjectDescriptor: clusterRevision: 'uint' = None class Enums: - class ApplicationLauncherStatusEnum(IntEnum): - kSuccess = 0x00 - kAppNotAvailable = 0x01 - kSystemBusy = 0x02 + class InputTypeEnum(IntEnum): + kInternal = 0x00 + kAux = 0x01 + kCoax = 0x02 + kComposite = 0x03 + kHdmi = 0x04 + kInput = 0x05 + kLine = 0x06 + kOptical = 0x07 + kVideo = 0x08 + kScart = 0x09 + kUsb = 0x0A + kOther = 0x0B class Structs: @dataclass - class Application(ClusterObject): - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="catalogVendorId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="applicationId", Tag=1, Type=str), - ]) - - catalogVendorId: 'uint' = 0 - applicationId: 'str' = "" - - @dataclass - class ApplicationEP(ClusterObject): + class InputInfo(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="application", Tag=0, Type=ApplicationLauncher.Structs.Application), - ClusterObjectFieldDescriptor(Label="endpoint", Tag=1, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="index", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="inputType", Tag=1, Type=MediaInput.Enums.InputTypeEnum), + ClusterObjectFieldDescriptor(Label="name", Tag=2, Type=str), + ClusterObjectFieldDescriptor(Label="description", Tag=3, Type=str), ]) - application: 'ApplicationLauncher.Structs.Application' = field(default_factory=lambda: ApplicationLauncher.Structs.Application()) - endpoint: 'typing.Optional[uint]' = None + index: 'uint' = 0 + inputType: 'MediaInput.Enums.InputTypeEnum' = 0 + name: 'str' = "" + description: 'str' = "" class Commands: @dataclass - class LaunchApp(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x050C + class SelectInput(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0507 command_id: typing.ClassVar[int] = 0x0000 is_client: typing.ClassVar[bool] = True @@ -32168,16 +22079,14 @@ class LaunchApp(ClusterCommand): def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="application", Tag=0, Type=ApplicationLauncher.Structs.Application), - ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=typing.Optional[bytes]), + ClusterObjectFieldDescriptor(Label="index", Tag=0, Type=uint), ]) - application: 'ApplicationLauncher.Structs.Application' = field(default_factory=lambda: ApplicationLauncher.Structs.Application()) - data: 'typing.Optional[bytes]' = None + index: 'uint' = 0 @dataclass - class StopApp(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x050C + class ShowInputStatus(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0507 command_id: typing.ClassVar[int] = 0x0001 is_client: typing.ClassVar[bool] = True @@ -32185,14 +22094,12 @@ class StopApp(ClusterCommand): def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="application", Tag=0, Type=ApplicationLauncher.Structs.Application), ]) - application: 'ApplicationLauncher.Structs.Application' = field(default_factory=lambda: ApplicationLauncher.Structs.Application()) @dataclass - class HideApp(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x050C + class HideInputStatus(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0507 command_id: typing.ClassVar[int] = 0x0002 is_client: typing.ClassVar[bool] = True @@ -32200,35 +22107,33 @@ class HideApp(ClusterCommand): def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="application", Tag=0, Type=ApplicationLauncher.Structs.Application), ]) - application: 'ApplicationLauncher.Structs.Application' = field(default_factory=lambda: ApplicationLauncher.Structs.Application()) @dataclass - class LauncherResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x050C + class RenameInput(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0507 command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = False + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=ApplicationLauncher.Enums.ApplicationLauncherStatusEnum), - ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=bytes), + ClusterObjectFieldDescriptor(Label="index", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=str), ]) - status: 'ApplicationLauncher.Enums.ApplicationLauncherStatusEnum' = 0 - data: 'bytes' = b"" + index: 'uint' = 0 + name: 'str' = "" class Attributes: @dataclass - class CatalogList(ClusterAttributeDescriptor): + class InputList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050C + return 0x0507 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -32236,15 +22141,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[uint]]) + return ClusterObjectFieldDescriptor(Type=typing.List[MediaInput.Structs.InputInfo]) - value: 'typing.Optional[typing.List[uint]]' = None + value: 'typing.List[MediaInput.Structs.InputInfo]' = field(default_factory=lambda: []) @dataclass - class CurrentApp(ClusterAttributeDescriptor): + class CurrentInput(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050C + return 0x0507 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -32252,15 +22157,15 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, ApplicationLauncher.Structs.ApplicationEP]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.Union[None, Nullable, ApplicationLauncher.Structs.ApplicationEP]' = None + value: 'typing.Optional[uint]' = None @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050C + return 0x0507 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -32276,7 +22181,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050C + return 0x0507 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -32292,7 +22197,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050C + return 0x0507 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -32308,7 +22213,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050C + return 0x0507 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -32324,7 +22229,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050C + return 0x0507 @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -32339,21 +22244,13 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class ApplicationBasic(Cluster): - id: typing.ClassVar[int] = 0x050D +class LowPower(Cluster): + id: typing.ClassVar[int] = 0x0508 @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="vendorName", Tag=0x00000000, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="vendorID", Tag=0x00000001, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="applicationName", Tag=0x00000002, Type=str), - ClusterObjectFieldDescriptor(Label="productID", Tag=0x00000003, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="application", Tag=0x00000004, Type=ApplicationBasic.Structs.ApplicationBasicApplication), - ClusterObjectFieldDescriptor(Label="status", Tag=0x00000005, Type=ApplicationBasic.Enums.ApplicationStatusEnum), - ClusterObjectFieldDescriptor(Label="applicationVersion", Tag=0x00000006, Type=str), - ClusterObjectFieldDescriptor(Label="allowedVendorList", Tag=0x00000007, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -32361,283 +22258,492 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - vendorName: 'typing.Optional[str]' = None - vendorID: 'typing.Optional[uint]' = None - applicationName: 'str' = None - productID: 'typing.Optional[uint]' = None - application: 'ApplicationBasic.Structs.ApplicationBasicApplication' = None - status: 'ApplicationBasic.Enums.ApplicationStatusEnum' = None - applicationVersion: 'str' = None - allowedVendorList: 'typing.List[uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None - class Enums: - class ApplicationStatusEnum(IntEnum): - kStopped = 0x00 - kActiveVisibleFocus = 0x01 - kActiveHidden = 0x02 - kActiveVisibleNotFocus = 0x03 - class Structs: + class Commands: @dataclass - class ApplicationBasicApplication(ClusterObject): + class Sleep(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0508 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True + @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="catalogVendorId", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="applicationId", Tag=1, Type=str), ]) - catalogVendorId: 'uint' = 0 - applicationId: 'str' = "" + class Attributes: + @dataclass + class GeneratedCommandList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0508 + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFF8 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + + value: 'typing.List[uint]' = field(default_factory=lambda: []) - class Attributes: @dataclass - class VendorName(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050D + return 0x0508 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFF9 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + + value: 'typing.List[uint]' = field(default_factory=lambda: []) + + @dataclass + class AttributeList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0508 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFB + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + + value: 'typing.List[uint]' = field(default_factory=lambda: []) + + @dataclass + class FeatureMap(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0508 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFC + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 + + @dataclass + class ClusterRevision(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0508 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFD + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 + + + +@dataclass +class KeypadInput(Cluster): + id: typing.ClassVar[int] = 0x0509 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) + + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + + class Enums: + class CecKeyCode(IntEnum): + kSelect = 0x00 + kUp = 0x01 + kDown = 0x02 + kLeft = 0x03 + kRight = 0x04 + kRightUp = 0x05 + kRightDown = 0x06 + kLeftUp = 0x07 + kLeftDown = 0x08 + kRootMenu = 0x09 + kSetupMenu = 0x0A + kContentsMenu = 0x0B + kFavoriteMenu = 0x0C + kExit = 0x0D + kMediaTopMenu = 0x10 + kMediaContextSensitiveMenu = 0x11 + kNumberEntryMode = 0x1D + kNumber11 = 0x1E + kNumber12 = 0x1F + kNumber0OrNumber10 = 0x20 + kNumbers1 = 0x21 + kNumbers2 = 0x22 + kNumbers3 = 0x23 + kNumbers4 = 0x24 + kNumbers5 = 0x25 + kNumbers6 = 0x26 + kNumbers7 = 0x27 + kNumbers8 = 0x28 + kNumbers9 = 0x29 + kDot = 0x2A + kEnter = 0x2B + kClear = 0x2C + kNextFavorite = 0x2F + kChannelUp = 0x30 + kChannelDown = 0x31 + kPreviousChannel = 0x32 + kSoundSelect = 0x33 + kInputSelect = 0x34 + kDisplayInformation = 0x35 + kHelp = 0x36 + kPageUp = 0x37 + kPageDown = 0x38 + kPower = 0x40 + kVolumeUp = 0x41 + kVolumeDown = 0x42 + kMute = 0x43 + kPlay = 0x44 + kStop = 0x45 + kPause = 0x46 + kRecord = 0x47 + kRewind = 0x48 + kFastForward = 0x49 + kEject = 0x4A + kForward = 0x4B + kBackward = 0x4C + kStopRecord = 0x4D + kPauseRecord = 0x4E + kReserved = 0x4F + kAngle = 0x50 + kSubPicture = 0x51 + kVideoOnDemand = 0x52 + kElectronicProgramGuide = 0x53 + kTimerProgramming = 0x54 + kInitialConfiguration = 0x55 + kSelectBroadcastType = 0x56 + kSelectSoundPresentation = 0x57 + kPlayFunction = 0x60 + kPausePlayFunction = 0x61 + kRecordFunction = 0x62 + kPauseRecordFunction = 0x63 + kStopFunction = 0x64 + kMuteFunction = 0x65 + kRestoreVolumeFunction = 0x66 + kTuneFunction = 0x67 + kSelectMediaFunction = 0x68 + kSelectAvInputFunction = 0x69 + kSelectAudioInputFunction = 0x6A + kPowerToggleFunction = 0x6B + kPowerOffFunction = 0x6C + kPowerOnFunction = 0x6D + kF1Blue = 0x71 + kF2Red = 0x72 + kF3Green = 0x73 + kF4Yellow = 0x74 + kF5 = 0x75 + kData = 0x76 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 + class KeypadInputStatusEnum(IntEnum): + kSuccess = 0x00 + kUnsupportedKey = 0x01 + kInvalidKeyInCurrentState = 0x02 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'typing.Optional[str]' = None + class Commands: @dataclass - class VendorID(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x050D - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 + class SendKey(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0509 + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="keyCode", Tag=0, Type=KeypadInput.Enums.CecKeyCode), + ]) - value: 'typing.Optional[uint]' = None + keyCode: 'KeypadInput.Enums.CecKeyCode' = 0 @dataclass - class ApplicationName(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x050D + class SendKeyResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x0509 + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000002 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=KeypadInput.Enums.KeypadInputStatusEnum), + ]) - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + status: 'KeypadInput.Enums.KeypadInputStatusEnum' = 0 - value: 'str' = "" + class Attributes: @dataclass - class ProductID(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050D + return 0x0509 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000003 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Application(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050D + return 0x0509 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000004 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=ApplicationBasic.Structs.ApplicationBasicApplication) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'ApplicationBasic.Structs.ApplicationBasicApplication' = field(default_factory=lambda: ApplicationBasic.Structs.ApplicationBasicApplication()) + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Status(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050D + return 0x0509 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000005 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=ApplicationBasic.Enums.ApplicationStatusEnum) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'ApplicationBasic.Enums.ApplicationStatusEnum' = 0 + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class ApplicationVersion(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050D + return 0x0509 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000006 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'str' = "" + value: 'uint' = 0 @dataclass - class AllowedVendorList(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050D + return 0x0509 @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000007 + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - - value: 'typing.List[uint]' = field(default_factory=lambda: []) + return ClusterObjectFieldDescriptor(Type=uint) - @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x050D + value: 'uint' = 0 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF8 - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) +@dataclass +class ContentLauncher(Cluster): + id: typing.ClassVar[int] = 0x050A - @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x050D + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="acceptHeader", Tag=0x00000000, Type=typing.Optional[typing.List[str]]), + ClusterObjectFieldDescriptor(Label="supportedStreamingProtocols", Tag=0x00000001, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFF9 + acceptHeader: 'typing.Optional[typing.List[str]]' = None + supportedStreamingProtocols: 'typing.Optional[uint]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + class Enums: + class ContentLaunchStatusEnum(IntEnum): + kSuccess = 0x00 + kUrlNotAvailable = 0x01 + kAuthFailed = 0x02 - value: 'typing.List[uint]' = field(default_factory=lambda: []) + class MetricTypeEnum(IntEnum): + kPixels = 0x00 + kPercentage = 0x01 - @dataclass - class AttributeList(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x050D + class ParameterEnum(IntEnum): + kActor = 0x00 + kChannel = 0x01 + kCharacter = 0x02 + kDirector = 0x03 + kEvent = 0x04 + kFranchise = 0x05 + kGenre = 0x06 + kLeague = 0x07 + kPopularity = 0x08 + kProvider = 0x09 + kSport = 0x0A + kSportsTeam = 0x0B + kType = 0x0C - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFB + class Structs: + @dataclass + class Dimension(ClusterObject): @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="width", Tag=0, Type=float), + ClusterObjectFieldDescriptor(Label="height", Tag=1, Type=float), + ClusterObjectFieldDescriptor(Label="metric", Tag=2, Type=ContentLauncher.Enums.MetricTypeEnum), + ]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + width: 'float' = 0.0 + height: 'float' = 0.0 + metric: 'ContentLauncher.Enums.MetricTypeEnum' = 0 @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class AdditionalInfo(ClusterObject): @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x050D + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="name", Tag=0, Type=str), + ClusterObjectFieldDescriptor(Label="value", Tag=1, Type=str), + ]) - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFC + name: 'str' = "" + value: 'str' = "" + @dataclass + class Parameter(ClusterObject): @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="type", Tag=0, Type=ContentLauncher.Enums.ParameterEnum), + ClusterObjectFieldDescriptor(Label="value", Tag=1, Type=str), + ClusterObjectFieldDescriptor(Label="externalIDList", Tag=2, Type=typing.Optional[typing.List[ContentLauncher.Structs.AdditionalInfo]]), + ]) - value: 'uint' = 0 + type: 'ContentLauncher.Enums.ParameterEnum' = 0 + value: 'str' = "" + externalIDList: 'typing.Optional[typing.List[ContentLauncher.Structs.AdditionalInfo]]' = None @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class ContentSearch(ClusterObject): @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x050D + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="parameterList", Tag=0, Type=typing.List[ContentLauncher.Structs.Parameter]), + ]) - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000FFFD + parameterList: 'typing.List[ContentLauncher.Structs.Parameter]' = field(default_factory=lambda: []) + @dataclass + class StyleInformation(ClusterObject): @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="imageUrl", Tag=0, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="color", Tag=1, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="size", Tag=2, Type=typing.Optional[ContentLauncher.Structs.Dimension]), + ]) -@dataclass -class AccountLogin(Cluster): - id: typing.ClassVar[int] = 0x050E + imageUrl: 'typing.Optional[str]' = None + color: 'typing.Optional[str]' = None + size: 'typing.Optional[ContentLauncher.Structs.Dimension]' = None - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) + @dataclass + class BrandingInformation(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="providerName", Tag=0, Type=str), + ClusterObjectFieldDescriptor(Label="background", Tag=1, Type=typing.Optional[ContentLauncher.Structs.StyleInformation]), + ClusterObjectFieldDescriptor(Label="logo", Tag=2, Type=typing.Optional[ContentLauncher.Structs.StyleInformation]), + ClusterObjectFieldDescriptor(Label="progressBar", Tag=3, Type=typing.Optional[ContentLauncher.Structs.StyleInformation]), + ClusterObjectFieldDescriptor(Label="splash", Tag=4, Type=typing.Optional[ContentLauncher.Structs.StyleInformation]), + ClusterObjectFieldDescriptor(Label="waterMark", Tag=5, Type=typing.Optional[ContentLauncher.Structs.StyleInformation]), + ]) - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None + providerName: 'str' = "" + background: 'typing.Optional[ContentLauncher.Structs.StyleInformation]' = None + logo: 'typing.Optional[ContentLauncher.Structs.StyleInformation]' = None + progressBar: 'typing.Optional[ContentLauncher.Structs.StyleInformation]' = None + splash: 'typing.Optional[ContentLauncher.Structs.StyleInformation]' = None + waterMark: 'typing.Optional[ContentLauncher.Structs.StyleInformation]' = None class Commands: @dataclass - class GetSetupPIN(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x050E + class LaunchContent(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x050A command_id: typing.ClassVar[int] = 0x0000 is_client: typing.ClassVar[bool] = True @@ -32645,75 +22751,90 @@ class GetSetupPIN(ClusterCommand): def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="tempAccountIdentifier", Tag=0, Type=str), + ClusterObjectFieldDescriptor(Label="search", Tag=0, Type=ContentLauncher.Structs.ContentSearch), + ClusterObjectFieldDescriptor(Label="autoPlay", Tag=1, Type=bool), + ClusterObjectFieldDescriptor(Label="data", Tag=2, Type=typing.Optional[str]), ]) - @ChipUtility.classproperty - def must_use_timed_invoke(cls) -> bool: - return True - - tempAccountIdentifier: 'str' = "" + search: 'ContentLauncher.Structs.ContentSearch' = field(default_factory=lambda: ContentLauncher.Structs.ContentSearch()) + autoPlay: 'bool' = False + data: 'typing.Optional[str]' = None @dataclass - class GetSetupPINResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x050E + class LaunchURL(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x050A command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = False + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="setupPIN", Tag=0, Type=str), + ClusterObjectFieldDescriptor(Label="contentURL", Tag=0, Type=str), + ClusterObjectFieldDescriptor(Label="displayString", Tag=1, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="brandingInformation", Tag=2, Type=typing.Optional[ContentLauncher.Structs.BrandingInformation]), ]) - setupPIN: 'str' = "" + contentURL: 'str' = "" + displayString: 'typing.Optional[str]' = None + brandingInformation: 'typing.Optional[ContentLauncher.Structs.BrandingInformation]' = None @dataclass - class Login(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x050E + class LaunchResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x050A command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = True + is_client: typing.ClassVar[bool] = False @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="tempAccountIdentifier", Tag=0, Type=str), - ClusterObjectFieldDescriptor(Label="setupPIN", Tag=1, Type=str), + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=ContentLauncher.Enums.ContentLaunchStatusEnum), + ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=typing.Optional[str]), ]) - @ChipUtility.classproperty - def must_use_timed_invoke(cls) -> bool: - return True + status: 'ContentLauncher.Enums.ContentLaunchStatusEnum' = 0 + data: 'typing.Optional[str]' = None - tempAccountIdentifier: 'str' = "" - setupPIN: 'str' = "" + class Attributes: @dataclass - class Logout(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x050E - command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = True + class AcceptHeader(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x050A @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) + def attribute_id(cls) -> int: + return 0x00000000 @ChipUtility.classproperty - def must_use_timed_invoke(cls) -> bool: - return True + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[str]]) + + value: 'typing.Optional[typing.List[str]]' = None + + @dataclass + class SupportedStreamingProtocols(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x050A + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000001 + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + value: 'typing.Optional[uint]' = None - class Attributes: @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050E + return 0x050A @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -32729,7 +22850,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050E + return 0x050A @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -32745,7 +22866,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050E + return 0x050A @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -32761,7 +22882,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050E + return 0x050A @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -32777,7 +22898,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x050E + return 0x050A @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -32792,25 +22913,15 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class ApplianceIdentification(Cluster): - id: typing.ClassVar[int] = 0x0B00 +class AudioOutput(Cluster): + id: typing.ClassVar[int] = 0x050B @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="basicIdentification", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="companyName", Tag=0x00000010, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="companyId", Tag=0x00000011, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="brandName", Tag=0x00000012, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="brandId", Tag=0x00000013, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="model", Tag=0x00000014, Type=typing.Optional[bytes]), - ClusterObjectFieldDescriptor(Label="partNumber", Tag=0x00000015, Type=typing.Optional[bytes]), - ClusterObjectFieldDescriptor(Label="productRevision", Tag=0x00000016, Type=typing.Optional[bytes]), - ClusterObjectFieldDescriptor(Label="softwareRevision", Tag=0x00000017, Type=typing.Optional[bytes]), - ClusterObjectFieldDescriptor(Label="productTypeName", Tag=0x00000018, Type=typing.Optional[bytes]), - ClusterObjectFieldDescriptor(Label="productTypeId", Tag=0x00000019, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="cecedSpecificationVersion", Tag=0x0000001A, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="outputList", Tag=0x00000000, Type=typing.List[AudioOutput.Structs.OutputInfo]), + ClusterObjectFieldDescriptor(Label="currentOutput", Tag=0x00000001, Type=typing.Optional[uint]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -32818,213 +22929,102 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - basicIdentification: 'uint' = None - companyName: 'typing.Optional[str]' = None - companyId: 'typing.Optional[uint]' = None - brandName: 'typing.Optional[str]' = None - brandId: 'typing.Optional[uint]' = None - model: 'typing.Optional[bytes]' = None - partNumber: 'typing.Optional[bytes]' = None - productRevision: 'typing.Optional[bytes]' = None - softwareRevision: 'typing.Optional[bytes]' = None - productTypeName: 'typing.Optional[bytes]' = None - productTypeId: 'typing.Optional[uint]' = None - cecedSpecificationVersion: 'typing.Optional[uint]' = None + outputList: 'typing.List[AudioOutput.Structs.OutputInfo]' = None + currentOutput: 'typing.Optional[uint]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None + class Enums: + class OutputTypeEnum(IntEnum): + kHdmi = 0x00 + kBt = 0x01 + kOptical = 0x02 + kHeadphone = 0x03 + kInternal = 0x04 + kOther = 0x05 - - class Attributes: - @dataclass - class BasicIdentification(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0B00 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class CompanyName(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0B00 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000010 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - - value: 'typing.Optional[str]' = None - - @dataclass - class CompanyId(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0B00 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000011 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class BrandName(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0B00 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000012 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - - value: 'typing.Optional[str]' = None - - @dataclass - class BrandId(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0B00 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000013 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - - value: 'typing.Optional[uint]' = None - - @dataclass - class Model(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0B00 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000014 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) - - value: 'typing.Optional[bytes]' = None - - @dataclass - class PartNumber(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0B00 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000015 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) - - value: 'typing.Optional[bytes]' = None - + class Structs: @dataclass - class ProductRevision(ClusterAttributeDescriptor): + class OutputInfo(ClusterObject): @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0B00 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="index", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="outputType", Tag=1, Type=AudioOutput.Enums.OutputTypeEnum), + ClusterObjectFieldDescriptor(Label="name", Tag=2, Type=str), + ]) - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000016 + index: 'uint' = 0 + outputType: 'AudioOutput.Enums.OutputTypeEnum' = 0 + name: 'str' = "" - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) - value: 'typing.Optional[bytes]' = None + class Commands: @dataclass - class SoftwareRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0B00 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000017 + class SelectOutput(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x050B + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="index", Tag=0, Type=uint), + ]) - value: 'typing.Optional[bytes]' = None + index: 'uint' = 0 @dataclass - class ProductTypeName(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0B00 + class RenameOutput(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x050B + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000018 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="index", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=str), + ]) - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) + index: 'uint' = 0 + name: 'str' = "" - value: 'typing.Optional[bytes]' = None + class Attributes: @dataclass - class ProductTypeId(ClusterAttributeDescriptor): + class OutputList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B00 + return 0x050B @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000019 + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + return ClusterObjectFieldDescriptor(Type=typing.List[AudioOutput.Structs.OutputInfo]) - value: 'typing.Optional[uint]' = None + value: 'typing.List[AudioOutput.Structs.OutputInfo]' = field(default_factory=lambda: []) @dataclass - class CecedSpecificationVersion(ClusterAttributeDescriptor): + class CurrentOutput(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B00 + return 0x050B @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000001A + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: @@ -33036,7 +23036,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B00 + return 0x050B @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -33052,7 +23052,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B00 + return 0x050B @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -33068,7 +23068,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B00 + return 0x050B @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -33084,7 +23084,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B00 + return 0x050B @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -33100,7 +23100,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B00 + return 0x050B @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -33115,25 +23115,15 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class MeterIdentification(Cluster): - id: typing.ClassVar[int] = 0x0B01 +class ApplicationLauncher(Cluster): + id: typing.ClassVar[int] = 0x050C @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="companyName", Tag=0x00000000, Type=str), - ClusterObjectFieldDescriptor(Label="meterTypeId", Tag=0x00000001, Type=uint), - ClusterObjectFieldDescriptor(Label="dataQualityId", Tag=0x00000004, Type=uint), - ClusterObjectFieldDescriptor(Label="customerName", Tag=0x00000005, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="model", Tag=0x00000006, Type=typing.Optional[bytes]), - ClusterObjectFieldDescriptor(Label="partNumber", Tag=0x00000007, Type=typing.Optional[bytes]), - ClusterObjectFieldDescriptor(Label="productRevision", Tag=0x00000008, Type=typing.Optional[bytes]), - ClusterObjectFieldDescriptor(Label="softwareRevision", Tag=0x0000000A, Type=typing.Optional[bytes]), - ClusterObjectFieldDescriptor(Label="utilityName", Tag=0x0000000B, Type=typing.Optional[str]), - ClusterObjectFieldDescriptor(Label="pod", Tag=0x0000000C, Type=str), - ClusterObjectFieldDescriptor(Label="availablePower", Tag=0x0000000D, Type=int), - ClusterObjectFieldDescriptor(Label="powerThreshold", Tag=0x0000000E, Type=int), + ClusterObjectFieldDescriptor(Label="catalogList", Tag=0x00000000, Type=typing.Optional[typing.List[uint]]), + ClusterObjectFieldDescriptor(Label="currentApp", Tag=0x00000001, Type=typing.Union[None, Nullable, ApplicationLauncher.Structs.ApplicationEP]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -33141,405 +23131,427 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - companyName: 'str' = None - meterTypeId: 'uint' = None - dataQualityId: 'uint' = None - customerName: 'typing.Optional[str]' = None - model: 'typing.Optional[bytes]' = None - partNumber: 'typing.Optional[bytes]' = None - productRevision: 'typing.Optional[bytes]' = None - softwareRevision: 'typing.Optional[bytes]' = None - utilityName: 'typing.Optional[str]' = None - pod: 'str' = None - availablePower: 'int' = None - powerThreshold: 'int' = None + catalogList: 'typing.Optional[typing.List[uint]]' = None + currentApp: 'typing.Union[None, Nullable, ApplicationLauncher.Structs.ApplicationEP]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None featureMap: 'uint' = None clusterRevision: 'uint' = None + class Enums: + class ApplicationLauncherStatusEnum(IntEnum): + kSuccess = 0x00 + kAppNotAvailable = 0x01 + kSystemBusy = 0x02 + + class Structs: + @dataclass + class Application(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="catalogVendorId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="applicationId", Tag=1, Type=str), + ]) + catalogVendorId: 'uint' = 0 + applicationId: 'str' = "" - class Attributes: @dataclass - class CompanyName(ClusterAttributeDescriptor): + class ApplicationEP(ClusterObject): @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0B01 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="application", Tag=0, Type=ApplicationLauncher.Structs.Application), + ClusterObjectFieldDescriptor(Label="endpoint", Tag=1, Type=typing.Optional[uint]), + ]) + + application: 'ApplicationLauncher.Structs.Application' = field(default_factory=lambda: ApplicationLauncher.Structs.Application()) + endpoint: 'typing.Optional[uint]' = None + + + + class Commands: + @dataclass + class LaunchApp(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x050C + command_id: typing.ClassVar[int] = 0x0000 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="application", Tag=0, Type=ApplicationLauncher.Structs.Application), + ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=typing.Optional[bytes]), + ]) + + application: 'ApplicationLauncher.Structs.Application' = field(default_factory=lambda: ApplicationLauncher.Structs.Application()) + data: 'typing.Optional[bytes]' = None + + @dataclass + class StopApp(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x050C + command_id: typing.ClassVar[int] = 0x0001 + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="application", Tag=0, Type=ApplicationLauncher.Structs.Application), + ]) + + application: 'ApplicationLauncher.Structs.Application' = field(default_factory=lambda: ApplicationLauncher.Structs.Application()) + + @dataclass + class HideApp(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x050C + command_id: typing.ClassVar[int] = 0x0002 + is_client: typing.ClassVar[bool] = True + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="application", Tag=0, Type=ApplicationLauncher.Structs.Application), + ]) + + application: 'ApplicationLauncher.Structs.Application' = field(default_factory=lambda: ApplicationLauncher.Structs.Application()) + + @dataclass + class LauncherResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x050C + command_id: typing.ClassVar[int] = 0x0003 + is_client: typing.ClassVar[bool] = False + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=ApplicationLauncher.Enums.ApplicationLauncherStatusEnum), + ClusterObjectFieldDescriptor(Label="data", Tag=1, Type=bytes), + ]) + + status: 'ApplicationLauncher.Enums.ApplicationLauncherStatusEnum' = 0 + data: 'bytes' = b"" - value: 'str' = "" + class Attributes: @dataclass - class MeterTypeId(ClusterAttributeDescriptor): + class CatalogList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B01 + return 0x050C @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000001 + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[uint]]) - value: 'uint' = 0 + value: 'typing.Optional[typing.List[uint]]' = None @dataclass - class DataQualityId(ClusterAttributeDescriptor): + class CurrentApp(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B01 + return 0x050C @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000004 + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, ApplicationLauncher.Structs.ApplicationEP]) - value: 'uint' = 0 + value: 'typing.Union[None, Nullable, ApplicationLauncher.Structs.ApplicationEP]' = None @dataclass - class CustomerName(ClusterAttributeDescriptor): + class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B01 + return 0x050C @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000005 + return 0x0000FFF8 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[str]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class Model(ClusterAttributeDescriptor): + class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B01 + return 0x050C @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000006 + return 0x0000FFF9 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[bytes]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class PartNumber(ClusterAttributeDescriptor): + class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B01 + return 0x050C @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000007 + return 0x0000FFFB @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) - value: 'typing.Optional[bytes]' = None + value: 'typing.List[uint]' = field(default_factory=lambda: []) @dataclass - class ProductRevision(ClusterAttributeDescriptor): + class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B01 + return 0x050C @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x00000008 + return 0x0000FFFC @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) + return ClusterObjectFieldDescriptor(Type=uint) - value: 'typing.Optional[bytes]' = None + value: 'uint' = 0 @dataclass - class SoftwareRevision(ClusterAttributeDescriptor): + class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B01 + return 0x050C @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000000A + return 0x0000FFFD @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes]) + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 + + + +@dataclass +class ApplicationBasic(Cluster): + id: typing.ClassVar[int] = 0x050D + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="vendorName", Tag=0x00000000, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="vendorID", Tag=0x00000001, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="applicationName", Tag=0x00000002, Type=str), + ClusterObjectFieldDescriptor(Label="productID", Tag=0x00000003, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="application", Tag=0x00000004, Type=ApplicationBasic.Structs.ApplicationBasicApplication), + ClusterObjectFieldDescriptor(Label="status", Tag=0x00000005, Type=ApplicationBasic.Enums.ApplicationStatusEnum), + ClusterObjectFieldDescriptor(Label="applicationVersion", Tag=0x00000006, Type=str), + ClusterObjectFieldDescriptor(Label="allowedVendorList", Tag=0x00000007, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), + ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), + ]) + + vendorName: 'typing.Optional[str]' = None + vendorID: 'typing.Optional[uint]' = None + applicationName: 'str' = None + productID: 'typing.Optional[uint]' = None + application: 'ApplicationBasic.Structs.ApplicationBasicApplication' = None + status: 'ApplicationBasic.Enums.ApplicationStatusEnum' = None + applicationVersion: 'str' = None + allowedVendorList: 'typing.List[uint]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None - value: 'typing.Optional[bytes]' = None + class Enums: + class ApplicationStatusEnum(IntEnum): + kStopped = 0x00 + kActiveVisibleFocus = 0x01 + kActiveHidden = 0x02 + kActiveVisibleNotFocus = 0x03 + + class Structs: @dataclass - class UtilityName(ClusterAttributeDescriptor): + class ApplicationBasicApplication(ClusterObject): @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0B01 + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields = [ + ClusterObjectFieldDescriptor(Label="catalogVendorId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="applicationId", Tag=1, Type=str), + ]) + + catalogVendorId: 'uint' = 0 + applicationId: 'str' = "" - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000000B - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'typing.Optional[str]' = None + class Attributes: @dataclass - class Pod(ClusterAttributeDescriptor): + class VendorName(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B01 + return 0x050D @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000000C + return 0x00000000 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=str) + return ClusterObjectFieldDescriptor(Type=typing.Optional[str]) - value: 'str' = "" + value: 'typing.Optional[str]' = None @dataclass - class AvailablePower(ClusterAttributeDescriptor): + class VendorID(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B01 + return 0x050D @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000000D + return 0x00000001 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'int' = 0 + value: 'typing.Optional[uint]' = None @dataclass - class PowerThreshold(ClusterAttributeDescriptor): + class ApplicationName(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B01 + return 0x050D @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000000E + return 0x00000002 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=int) + return ClusterObjectFieldDescriptor(Type=str) - value: 'int' = 0 + value: 'str' = "" @dataclass - class GeneratedCommandList(ClusterAttributeDescriptor): + class ProductID(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B01 + return 0x050D @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF8 + return 0x00000003 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'typing.Optional[uint]' = None @dataclass - class AcceptedCommandList(ClusterAttributeDescriptor): + class Application(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B01 + return 0x050D @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFF9 + return 0x00000004 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=ApplicationBasic.Structs.ApplicationBasicApplication) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'ApplicationBasic.Structs.ApplicationBasicApplication' = field(default_factory=lambda: ApplicationBasic.Structs.ApplicationBasicApplication()) @dataclass - class AttributeList(ClusterAttributeDescriptor): + class Status(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B01 + return 0x050D @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFB + return 0x00000005 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + return ClusterObjectFieldDescriptor(Type=ApplicationBasic.Enums.ApplicationStatusEnum) - value: 'typing.List[uint]' = field(default_factory=lambda: []) + value: 'ApplicationBasic.Enums.ApplicationStatusEnum' = 0 @dataclass - class FeatureMap(ClusterAttributeDescriptor): + class ApplicationVersion(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B01 + return 0x050D @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFC + return 0x00000006 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) + return ClusterObjectFieldDescriptor(Type=str) - value: 'uint' = 0 + value: 'str' = "" @dataclass - class ClusterRevision(ClusterAttributeDescriptor): + class AllowedVendorList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B01 + return 0x050D @ChipUtility.classproperty def attribute_id(cls) -> int: - return 0x0000FFFD + return 0x00000007 @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - - -@dataclass -class ApplianceEventsAndAlert(Cluster): - id: typing.ClassVar[int] = 0x0B02 - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), - ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint), - ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), - ]) - - generatedCommandList: 'typing.List[uint]' = None - acceptedCommandList: 'typing.List[uint]' = None - attributeList: 'typing.List[uint]' = None - featureMap: 'uint' = None - clusterRevision: 'uint' = None - - class Enums: - class EventIdentification(IntEnum): - kEndOfCycle = 0x01 - kTemperatureReached = 0x04 - kEndOfCooking = 0x05 - kSwitchingOff = 0x06 - kWrongData = 0x07 - - - - class Commands: - @dataclass - class GetAlerts(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0B02 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ]) - - - @dataclass - class GetAlertsResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0B02 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="alertsCount", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="alertStructures", Tag=1, Type=typing.List[uint]), - ]) - - alertsCount: 'uint' = 0 - alertStructures: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class AlertsNotification(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0B02 - command_id: typing.ClassVar[int] = 0x0001 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="alertsCount", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="alertStructures", Tag=1, Type=typing.List[uint]), - ]) - - alertsCount: 'uint' = 0 - alertStructures: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class EventsNotification(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0B02 - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = False - - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="eventHeader", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="eventId", Tag=1, Type=ApplianceEventsAndAlert.Enums.EventIdentification), - ]) - - eventHeader: 'uint' = 0 - eventId: 'ApplianceEventsAndAlert.Enums.EventIdentification' = 0 + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + value: 'typing.List[uint]' = field(default_factory=lambda: []) - class Attributes: @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B02 + return 0x050D @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -33555,7 +23567,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B02 + return 0x050D @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -33571,7 +23583,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B02 + return 0x050D @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -33587,7 +23599,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B02 + return 0x050D @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -33603,7 +23615,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B02 + return 0x050D @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -33618,15 +23630,13 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: @dataclass -class ApplianceStatistics(Cluster): - id: typing.ClassVar[int] = 0x0B03 +class AccountLogin(Cluster): + id: typing.ClassVar[int] = 0x050E @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="logMaxSize", Tag=0x00000000, Type=uint), - ClusterObjectFieldDescriptor(Label="logQueueMaxSize", Tag=0x00000001, Type=uint), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]), @@ -33634,8 +23644,6 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint), ]) - logMaxSize: 'uint' = None - logQueueMaxSize: 'uint' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None attributeList: 'typing.List[uint]' = None @@ -33646,44 +23654,27 @@ def descriptor(cls) -> ClusterObjectDescriptor: class Commands: @dataclass - class LogNotification(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0B03 + class GetSetupPIN(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x050E command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = False + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="timeStamp", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="logId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="logLength", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="logPayload", Tag=3, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="tempAccountIdentifier", Tag=0, Type=str), ]) - timeStamp: 'uint' = 0 - logId: 'uint' = 0 - logLength: 'uint' = 0 - logPayload: 'typing.List[uint]' = field(default_factory=lambda: []) - - @dataclass - class LogRequest(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0B03 - command_id: typing.ClassVar[int] = 0x0000 - is_client: typing.ClassVar[bool] = True - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="logId", Tag=0, Type=uint), - ]) + def must_use_timed_invoke(cls) -> bool: + return True - logId: 'uint' = 0 + tempAccountIdentifier: 'str' = "" @dataclass - class LogResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0B03 + class GetSetupPINResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x050E command_id: typing.ClassVar[int] = 0x0001 is_client: typing.ClassVar[bool] = False @@ -33691,103 +23682,56 @@ class LogResponse(ClusterCommand): def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="timeStamp", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="logId", Tag=1, Type=uint), - ClusterObjectFieldDescriptor(Label="logLength", Tag=2, Type=uint), - ClusterObjectFieldDescriptor(Label="logPayload", Tag=3, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="setupPIN", Tag=0, Type=str), ]) - timeStamp: 'uint' = 0 - logId: 'uint' = 0 - logLength: 'uint' = 0 - logPayload: 'typing.List[uint]' = field(default_factory=lambda: []) + setupPIN: 'str' = "" @dataclass - class LogQueueRequest(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0B03 - command_id: typing.ClassVar[int] = 0x0001 + class Login(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x050E + command_id: typing.ClassVar[int] = 0x0002 is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ + ClusterObjectFieldDescriptor(Label="tempAccountIdentifier", Tag=0, Type=str), + ClusterObjectFieldDescriptor(Label="setupPIN", Tag=1, Type=str), ]) - - @dataclass - class LogQueueResponse(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0B03 - command_id: typing.ClassVar[int] = 0x0002 - is_client: typing.ClassVar[bool] = False - @ChipUtility.classproperty - def descriptor(cls) -> ClusterObjectDescriptor: - return ClusterObjectDescriptor( - Fields = [ - ClusterObjectFieldDescriptor(Label="logQueueSize", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="logIds", Tag=1, Type=typing.List[uint]), - ]) + def must_use_timed_invoke(cls) -> bool: + return True - logQueueSize: 'uint' = 0 - logIds: 'typing.List[uint]' = field(default_factory=lambda: []) + tempAccountIdentifier: 'str' = "" + setupPIN: 'str' = "" @dataclass - class StatisticsAvailable(ClusterCommand): - cluster_id: typing.ClassVar[int] = 0x0B03 + class Logout(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x050E command_id: typing.ClassVar[int] = 0x0003 - is_client: typing.ClassVar[bool] = False + is_client: typing.ClassVar[bool] = True @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ - ClusterObjectFieldDescriptor(Label="logQueueSize", Tag=0, Type=uint), - ClusterObjectFieldDescriptor(Label="logIds", Tag=1, Type=typing.List[uint]), ]) - logQueueSize: 'uint' = 0 - logIds: 'typing.List[uint]' = field(default_factory=lambda: []) - - - class Attributes: - @dataclass - class LogMaxSize(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0B03 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - value: 'uint' = 0 - - @dataclass - class LogQueueMaxSize(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0B03 - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x00000001 + def must_use_timed_invoke(cls) -> bool: + return True - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - value: 'uint' = 0 + class Attributes: @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B03 + return 0x050E @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -33803,7 +23747,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AcceptedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B03 + return 0x050E @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -33819,7 +23763,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class AttributeList(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B03 + return 0x050E @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -33835,7 +23779,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class FeatureMap(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B03 + return 0x050E @ChipUtility.classproperty def attribute_id(cls) -> int: @@ -33851,7 +23795,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class ClusterRevision(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: - return 0x0B03 + return 0x050E @ChipUtility.classproperty def attribute_id(cls) -> int: diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h index 467e4eb284e3d0..1579237c1d53ba 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h @@ -22072,51 +22072,6 @@ typedef NS_OPTIONS(uint32_t, MTRLevelControlFeature) { MTRLevelControlFeatureFrequency = 0x4, }; -typedef NS_ENUM(uint8_t, MTRApplianceControlApplianceStatus) { - MTRApplianceControlApplianceStatusOff = 0x01, - MTRApplianceControlApplianceStatusStandBy = 0x02, - MTRApplianceControlApplianceStatusProgrammed = 0x03, - MTRApplianceControlApplianceStatusProgrammedWaitingToStart = 0x04, - MTRApplianceControlApplianceStatusRunning = 0x05, - MTRApplianceControlApplianceStatusPause = 0x06, - MTRApplianceControlApplianceStatusEndProgrammed = 0x07, - MTRApplianceControlApplianceStatusFailure = 0x08, - MTRApplianceControlApplianceStatusProgrammeInterrupted = 0x09, - MTRApplianceControlApplianceStatusIdle = 0x0A, - MTRApplianceControlApplianceStatusRinseHold = 0x0B, - MTRApplianceControlApplianceStatusService = 0x0C, - MTRApplianceControlApplianceStatusSuperfreezing = 0x0D, - MTRApplianceControlApplianceStatusSupercooling = 0x0E, - MTRApplianceControlApplianceStatusSuperheating = 0x0F, -}; - -typedef NS_ENUM(uint8_t, MTRApplianceControlCommandIdentification) { - MTRApplianceControlCommandIdentificationStart = 0x01, - MTRApplianceControlCommandIdentificationStop = 0x02, - MTRApplianceControlCommandIdentificationPause = 0x03, - MTRApplianceControlCommandIdentificationStartSuperfreezing = 0x04, - MTRApplianceControlCommandIdentificationStopSuperfreezing = 0x05, - MTRApplianceControlCommandIdentificationStartSupercooling = 0x06, - MTRApplianceControlCommandIdentificationStopSupercooling = 0x07, - MTRApplianceControlCommandIdentificationDisableGas = 0x08, - MTRApplianceControlCommandIdentificationEnableGas = 0x09, - MTRApplianceControlCommandIdentificationEnableEnergyControl = 0x0A, - MTRApplianceControlCommandIdentificationDisableEnergyControl = 0x0B, -}; - -typedef NS_ENUM(uint8_t, MTRApplianceControlWarningEvent) { - MTRApplianceControlWarningEventWarning1OverallPowerAboveAvailablePowerLevel = 0x00, - MTRApplianceControlWarningEventWarning2OverallPowerAbovePowerThresholdLevel = 0x01, - MTRApplianceControlWarningEventWarning3OverallPowerBackBelowTheAvailablePowerLevel = 0x02, - MTRApplianceControlWarningEventWarning4OverallPowerBackBelowThePowerThresholdLevel = 0x03, - MTRApplianceControlWarningEventWarning5OverallPowerWillBePotentiallyAboveAvailablePowerLevelIfTheApplianceStarts = 0x04, -}; - -typedef NS_OPTIONS(uint8_t, MTRApplianceControlRemoteEnableFlagsAndDeviceStatus2) { - MTRApplianceControlRemoteEnableFlagsAndDeviceStatus2RemoteEnableFlags = 0xF, - MTRApplianceControlRemoteEnableFlagsAndDeviceStatus2DeviceStatus2Structure = 0xF0, -}; - typedef NS_ENUM(uint8_t, MTRAccessControlAuthMode) { MTRAccessControlAuthModePASE = 0x01, MTRAccessControlAuthModeCASE = 0x02, @@ -23395,25 +23350,6 @@ typedef NS_ENUM(uint8_t, MTRApplicationBasicApplicationStatus) { MTRApplicationBasicApplicationStatusActiveVisibleNotFocus = 0x03, }; -typedef NS_ENUM(uint8_t, MTRApplianceEventsAndAlertEventIdentification) { - MTRApplianceEventsAndAlertEventIdentificationEndOfCycle = 0x01, - MTRApplianceEventsAndAlertEventIdentificationTemperatureReached = 0x04, - MTRApplianceEventsAndAlertEventIdentificationEndOfCooking = 0x05, - MTRApplianceEventsAndAlertEventIdentificationSwitchingOff = 0x06, - MTRApplianceEventsAndAlertEventIdentificationWrongData = 0x07, -}; - -typedef NS_OPTIONS(uint8_t, MTRApplianceEventsAndAlertAlertCount) { - MTRApplianceEventsAndAlertAlertCountNumberOfAlerts = 0xF, - MTRApplianceEventsAndAlertAlertCountTypeOfAlert = 0xF0, -}; - -typedef NS_OPTIONS(uint32_t, MTRApplianceEventsAndAlertAlertStructure) { - MTRApplianceEventsAndAlertAlertStructureAlertId = 0xFF, - MTRApplianceEventsAndAlertAlertStructureCategory = 0xF00, - MTRApplianceEventsAndAlertAlertStructurePresenceRecovery = 0x3000, -}; - typedef NS_ENUM(uint8_t, MTRTestClusterSimple) { MTRTestClusterSimpleUnspecified = 0x00, MTRTestClusterSimpleValueA = 0x01, diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.mm b/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.mm index 1e7229a75fad35..f2e3515f92f5cd 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.mm @@ -13837,164 +13837,6 @@ } } -void MTRApplianceControlClusterApplianceStatusAttributeCallbackBridge::OnSuccessFn( - void * context, chip::app::Clusters::ApplianceControl::ApplianceStatus value) -{ - NSNumber * _Nonnull objCValue; - objCValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(value)]; - DispatchSuccess(context, objCValue); -}; - -void MTRApplianceControlClusterApplianceStatusAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished(void * context) -{ - auto * self = static_cast(context); - if (!self->mQueue) { - return; - } - - if (self->mEstablishedHandler != nil) { - dispatch_async(self->mQueue, self->mEstablishedHandler); - // On failure, mEstablishedHandler will be cleaned up by our destructor, - // but we can clean it up earlier on successful subscription - // establishment. - self->mEstablishedHandler = nil; - } -} - -void MTRNullableApplianceControlClusterApplianceStatusAttributeCallbackBridge::OnSuccessFn( - void * context, const chip::app::DataModel::Nullable & value) -{ - NSNumber * _Nullable objCValue; - if (value.IsNull()) { - objCValue = nil; - } else { - objCValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(value.Value())]; - } - DispatchSuccess(context, objCValue); -}; - -void MTRNullableApplianceControlClusterApplianceStatusAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished(void * context) -{ - auto * self = static_cast(context); - if (!self->mQueue) { - return; - } - - if (self->mEstablishedHandler != nil) { - dispatch_async(self->mQueue, self->mEstablishedHandler); - // On failure, mEstablishedHandler will be cleaned up by our destructor, - // but we can clean it up earlier on successful subscription - // establishment. - self->mEstablishedHandler = nil; - } -} - -void MTRApplianceControlClusterCommandIdentificationAttributeCallbackBridge::OnSuccessFn( - void * context, chip::app::Clusters::ApplianceControl::CommandIdentification value) -{ - NSNumber * _Nonnull objCValue; - objCValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(value)]; - DispatchSuccess(context, objCValue); -}; - -void MTRApplianceControlClusterCommandIdentificationAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished(void * context) -{ - auto * self = static_cast(context); - if (!self->mQueue) { - return; - } - - if (self->mEstablishedHandler != nil) { - dispatch_async(self->mQueue, self->mEstablishedHandler); - // On failure, mEstablishedHandler will be cleaned up by our destructor, - // but we can clean it up earlier on successful subscription - // establishment. - self->mEstablishedHandler = nil; - } -} - -void MTRNullableApplianceControlClusterCommandIdentificationAttributeCallbackBridge::OnSuccessFn( - void * context, const chip::app::DataModel::Nullable & value) -{ - NSNumber * _Nullable objCValue; - if (value.IsNull()) { - objCValue = nil; - } else { - objCValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(value.Value())]; - } - DispatchSuccess(context, objCValue); -}; - -void MTRNullableApplianceControlClusterCommandIdentificationAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished( - void * context) -{ - auto * self - = static_cast(context); - if (!self->mQueue) { - return; - } - - if (self->mEstablishedHandler != nil) { - dispatch_async(self->mQueue, self->mEstablishedHandler); - // On failure, mEstablishedHandler will be cleaned up by our destructor, - // but we can clean it up earlier on successful subscription - // establishment. - self->mEstablishedHandler = nil; - } -} - -void MTRApplianceControlClusterWarningEventAttributeCallbackBridge::OnSuccessFn( - void * context, chip::app::Clusters::ApplianceControl::WarningEvent value) -{ - NSNumber * _Nonnull objCValue; - objCValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(value)]; - DispatchSuccess(context, objCValue); -}; - -void MTRApplianceControlClusterWarningEventAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished(void * context) -{ - auto * self = static_cast(context); - if (!self->mQueue) { - return; - } - - if (self->mEstablishedHandler != nil) { - dispatch_async(self->mQueue, self->mEstablishedHandler); - // On failure, mEstablishedHandler will be cleaned up by our destructor, - // but we can clean it up earlier on successful subscription - // establishment. - self->mEstablishedHandler = nil; - } -} - -void MTRNullableApplianceControlClusterWarningEventAttributeCallbackBridge::OnSuccessFn( - void * context, const chip::app::DataModel::Nullable & value) -{ - NSNumber * _Nullable objCValue; - if (value.IsNull()) { - objCValue = nil; - } else { - objCValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(value.Value())]; - } - DispatchSuccess(context, objCValue); -}; - -void MTRNullableApplianceControlClusterWarningEventAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished(void * context) -{ - auto * self = static_cast(context); - if (!self->mQueue) { - return; - } - - if (self->mEstablishedHandler != nil) { - dispatch_async(self->mQueue, self->mEstablishedHandler); - // On failure, mEstablishedHandler will be cleaned up by our destructor, - // but we can clean it up earlier on successful subscription - // establishment. - self->mEstablishedHandler = nil; - } -} - void MTRAccessControlClusterAuthModeAttributeCallbackBridge::OnSuccessFn( void * context, chip::app::Clusters::AccessControl::AuthMode value) { @@ -19342,61 +19184,6 @@ } } -void MTRApplianceEventsAndAlertClusterEventIdentificationAttributeCallbackBridge::OnSuccessFn( - void * context, chip::app::Clusters::ApplianceEventsAndAlert::EventIdentification value) -{ - NSNumber * _Nonnull objCValue; - objCValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(value)]; - DispatchSuccess(context, objCValue); -}; - -void MTRApplianceEventsAndAlertClusterEventIdentificationAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished( - void * context) -{ - auto * self = static_cast(context); - if (!self->mQueue) { - return; - } - - if (self->mEstablishedHandler != nil) { - dispatch_async(self->mQueue, self->mEstablishedHandler); - // On failure, mEstablishedHandler will be cleaned up by our destructor, - // but we can clean it up earlier on successful subscription - // establishment. - self->mEstablishedHandler = nil; - } -} - -void MTRNullableApplianceEventsAndAlertClusterEventIdentificationAttributeCallbackBridge::OnSuccessFn( - void * context, const chip::app::DataModel::Nullable & value) -{ - NSNumber * _Nullable objCValue; - if (value.IsNull()) { - objCValue = nil; - } else { - objCValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(value.Value())]; - } - DispatchSuccess(context, objCValue); -}; - -void MTRNullableApplianceEventsAndAlertClusterEventIdentificationAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished( - void * context) -{ - auto * self - = static_cast(context); - if (!self->mQueue) { - return; - } - - if (self->mEstablishedHandler != nil) { - dispatch_async(self->mQueue, self->mEstablishedHandler); - // On failure, mEstablishedHandler will be cleaned up by our destructor, - // but we can clean it up earlier on successful subscription - // establishment. - self->mEstablishedHandler = nil; - } -} - void MTRTestClusterClusterSimpleEnumAttributeCallbackBridge::OnSuccessFn( void * context, chip::app::Clusters::TestCluster::SimpleEnum value) { diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge_internal.h b/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge_internal.h index 3e2b87500de6cb..c1eab243554fbd 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge_internal.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge_internal.h @@ -170,17 +170,6 @@ typedef void (*NullableLevelControlClusterMoveModeAttributeCallback)( typedef void (*LevelControlClusterStepModeAttributeCallback)(void *, chip::app::Clusters::LevelControl::StepMode); typedef void (*NullableLevelControlClusterStepModeAttributeCallback)( void *, const chip::app::DataModel::Nullable &); -typedef void (*ApplianceControlClusterApplianceStatusAttributeCallback)(void *, - chip::app::Clusters::ApplianceControl::ApplianceStatus); -typedef void (*NullableApplianceControlClusterApplianceStatusAttributeCallback)( - void *, const chip::app::DataModel::Nullable &); -typedef void (*ApplianceControlClusterCommandIdentificationAttributeCallback)( - void *, chip::app::Clusters::ApplianceControl::CommandIdentification); -typedef void (*NullableApplianceControlClusterCommandIdentificationAttributeCallback)( - void *, const chip::app::DataModel::Nullable &); -typedef void (*ApplianceControlClusterWarningEventAttributeCallback)(void *, chip::app::Clusters::ApplianceControl::WarningEvent); -typedef void (*NullableApplianceControlClusterWarningEventAttributeCallback)( - void *, const chip::app::DataModel::Nullable &); typedef void (*AccessControlClusterAuthModeAttributeCallback)(void *, chip::app::Clusters::AccessControl::AuthMode); typedef void (*NullableAccessControlClusterAuthModeAttributeCallback)( void *, const chip::app::DataModel::Nullable &); @@ -533,10 +522,6 @@ typedef void (*ApplicationBasicClusterApplicationStatusEnumAttributeCallback)( void *, chip::app::Clusters::ApplicationBasic::ApplicationStatusEnum); typedef void (*NullableApplicationBasicClusterApplicationStatusEnumAttributeCallback)( void *, const chip::app::DataModel::Nullable &); -typedef void (*ApplianceEventsAndAlertClusterEventIdentificationAttributeCallback)( - void *, chip::app::Clusters::ApplianceEventsAndAlert::EventIdentification); -typedef void (*NullableApplianceEventsAndAlertClusterEventIdentificationAttributeCallback)( - void *, const chip::app::DataModel::Nullable &); typedef void (*TestClusterClusterSimpleEnumAttributeCallback)(void *, chip::app::Clusters::TestCluster::SimpleEnum); typedef void (*NullableTestClusterClusterSimpleEnumAttributeCallback)( void *, const chip::app::DataModel::Nullable &); @@ -10564,178 +10549,6 @@ class MTRNullableLevelControlClusterStepModeAttributeCallbackSubscriptionBridge SubscriptionEstablishedHandler mEstablishedHandler; }; -class MTRApplianceControlClusterApplianceStatusAttributeCallbackBridge - : public MTRCallbackBridge -{ -public: - MTRApplianceControlClusterApplianceStatusAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler, - MTRActionBlock action, bool keepAlive = false) : - MTRCallbackBridge(queue, handler, action, OnSuccessFn, - keepAlive){}; - - static void OnSuccessFn(void * context, chip::app::Clusters::ApplianceControl::ApplianceStatus value); -}; - -class MTRApplianceControlClusterApplianceStatusAttributeCallbackSubscriptionBridge - : public MTRApplianceControlClusterApplianceStatusAttributeCallbackBridge -{ -public: - MTRApplianceControlClusterApplianceStatusAttributeCallbackSubscriptionBridge( - dispatch_queue_t queue, ResponseHandler handler, MTRActionBlock action, SubscriptionEstablishedHandler establishedHandler) : - MTRApplianceControlClusterApplianceStatusAttributeCallbackBridge(queue, handler, action, true), - mEstablishedHandler(establishedHandler) - {} - - static void OnSubscriptionEstablished(void * context); - -private: - SubscriptionEstablishedHandler mEstablishedHandler; -}; - -class MTRNullableApplianceControlClusterApplianceStatusAttributeCallbackBridge - : public MTRCallbackBridge -{ -public: - MTRNullableApplianceControlClusterApplianceStatusAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler, - MTRActionBlock action, bool keepAlive = false) : - MTRCallbackBridge(queue, handler, action, OnSuccessFn, - keepAlive){}; - - static void OnSuccessFn(void * context, - const chip::app::DataModel::Nullable & value); -}; - -class MTRNullableApplianceControlClusterApplianceStatusAttributeCallbackSubscriptionBridge - : public MTRNullableApplianceControlClusterApplianceStatusAttributeCallbackBridge -{ -public: - MTRNullableApplianceControlClusterApplianceStatusAttributeCallbackSubscriptionBridge( - dispatch_queue_t queue, ResponseHandler handler, MTRActionBlock action, SubscriptionEstablishedHandler establishedHandler) : - MTRNullableApplianceControlClusterApplianceStatusAttributeCallbackBridge(queue, handler, action, true), - mEstablishedHandler(establishedHandler) - {} - - static void OnSubscriptionEstablished(void * context); - -private: - SubscriptionEstablishedHandler mEstablishedHandler; -}; - -class MTRApplianceControlClusterCommandIdentificationAttributeCallbackBridge - : public MTRCallbackBridge -{ -public: - MTRApplianceControlClusterCommandIdentificationAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler, - MTRActionBlock action, bool keepAlive = false) : - MTRCallbackBridge(queue, handler, action, OnSuccessFn, - keepAlive){}; - - static void OnSuccessFn(void * context, chip::app::Clusters::ApplianceControl::CommandIdentification value); -}; - -class MTRApplianceControlClusterCommandIdentificationAttributeCallbackSubscriptionBridge - : public MTRApplianceControlClusterCommandIdentificationAttributeCallbackBridge -{ -public: - MTRApplianceControlClusterCommandIdentificationAttributeCallbackSubscriptionBridge( - dispatch_queue_t queue, ResponseHandler handler, MTRActionBlock action, SubscriptionEstablishedHandler establishedHandler) : - MTRApplianceControlClusterCommandIdentificationAttributeCallbackBridge(queue, handler, action, true), - mEstablishedHandler(establishedHandler) - {} - - static void OnSubscriptionEstablished(void * context); - -private: - SubscriptionEstablishedHandler mEstablishedHandler; -}; - -class MTRNullableApplianceControlClusterCommandIdentificationAttributeCallbackBridge - : public MTRCallbackBridge -{ -public: - MTRNullableApplianceControlClusterCommandIdentificationAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler, - MTRActionBlock action, bool keepAlive = false) : - MTRCallbackBridge(queue, handler, action, - OnSuccessFn, keepAlive){}; - - static void - OnSuccessFn(void * context, - const chip::app::DataModel::Nullable & value); -}; - -class MTRNullableApplianceControlClusterCommandIdentificationAttributeCallbackSubscriptionBridge - : public MTRNullableApplianceControlClusterCommandIdentificationAttributeCallbackBridge -{ -public: - MTRNullableApplianceControlClusterCommandIdentificationAttributeCallbackSubscriptionBridge( - dispatch_queue_t queue, ResponseHandler handler, MTRActionBlock action, SubscriptionEstablishedHandler establishedHandler) : - MTRNullableApplianceControlClusterCommandIdentificationAttributeCallbackBridge(queue, handler, action, true), - mEstablishedHandler(establishedHandler) - {} - - static void OnSubscriptionEstablished(void * context); - -private: - SubscriptionEstablishedHandler mEstablishedHandler; -}; - -class MTRApplianceControlClusterWarningEventAttributeCallbackBridge - : public MTRCallbackBridge -{ -public: - MTRApplianceControlClusterWarningEventAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler, - MTRActionBlock action, bool keepAlive = false) : - MTRCallbackBridge(queue, handler, action, OnSuccessFn, keepAlive){}; - - static void OnSuccessFn(void * context, chip::app::Clusters::ApplianceControl::WarningEvent value); -}; - -class MTRApplianceControlClusterWarningEventAttributeCallbackSubscriptionBridge - : public MTRApplianceControlClusterWarningEventAttributeCallbackBridge -{ -public: - MTRApplianceControlClusterWarningEventAttributeCallbackSubscriptionBridge(dispatch_queue_t queue, ResponseHandler handler, - MTRActionBlock action, - SubscriptionEstablishedHandler establishedHandler) : - MTRApplianceControlClusterWarningEventAttributeCallbackBridge(queue, handler, action, true), - mEstablishedHandler(establishedHandler) - {} - - static void OnSubscriptionEstablished(void * context); - -private: - SubscriptionEstablishedHandler mEstablishedHandler; -}; - -class MTRNullableApplianceControlClusterWarningEventAttributeCallbackBridge - : public MTRCallbackBridge -{ -public: - MTRNullableApplianceControlClusterWarningEventAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler, - MTRActionBlock action, bool keepAlive = false) : - MTRCallbackBridge(queue, handler, action, OnSuccessFn, - keepAlive){}; - - static void OnSuccessFn(void * context, - const chip::app::DataModel::Nullable & value); -}; - -class MTRNullableApplianceControlClusterWarningEventAttributeCallbackSubscriptionBridge - : public MTRNullableApplianceControlClusterWarningEventAttributeCallbackBridge -{ -public: - MTRNullableApplianceControlClusterWarningEventAttributeCallbackSubscriptionBridge( - dispatch_queue_t queue, ResponseHandler handler, MTRActionBlock action, SubscriptionEstablishedHandler establishedHandler) : - MTRNullableApplianceControlClusterWarningEventAttributeCallbackBridge(queue, handler, action, true), - mEstablishedHandler(establishedHandler) - {} - - static void OnSubscriptionEstablished(void * context); - -private: - SubscriptionEstablishedHandler mEstablishedHandler; -}; - class MTRAccessControlClusterAuthModeAttributeCallbackBridge : public MTRCallbackBridge { @@ -16552,66 +16365,6 @@ class MTRNullableApplicationBasicClusterApplicationStatusEnumAttributeCallbackSu SubscriptionEstablishedHandler mEstablishedHandler; }; -class MTRApplianceEventsAndAlertClusterEventIdentificationAttributeCallbackBridge - : public MTRCallbackBridge -{ -public: - MTRApplianceEventsAndAlertClusterEventIdentificationAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler, - MTRActionBlock action, bool keepAlive = false) : - MTRCallbackBridge(queue, handler, action, OnSuccessFn, - keepAlive){}; - - static void OnSuccessFn(void * context, chip::app::Clusters::ApplianceEventsAndAlert::EventIdentification value); -}; - -class MTRApplianceEventsAndAlertClusterEventIdentificationAttributeCallbackSubscriptionBridge - : public MTRApplianceEventsAndAlertClusterEventIdentificationAttributeCallbackBridge -{ -public: - MTRApplianceEventsAndAlertClusterEventIdentificationAttributeCallbackSubscriptionBridge( - dispatch_queue_t queue, ResponseHandler handler, MTRActionBlock action, SubscriptionEstablishedHandler establishedHandler) : - MTRApplianceEventsAndAlertClusterEventIdentificationAttributeCallbackBridge(queue, handler, action, true), - mEstablishedHandler(establishedHandler) - {} - - static void OnSubscriptionEstablished(void * context); - -private: - SubscriptionEstablishedHandler mEstablishedHandler; -}; - -class MTRNullableApplianceEventsAndAlertClusterEventIdentificationAttributeCallbackBridge - : public MTRCallbackBridge -{ -public: - MTRNullableApplianceEventsAndAlertClusterEventIdentificationAttributeCallbackBridge(dispatch_queue_t queue, - ResponseHandler handler, - MTRActionBlock action, - bool keepAlive = false) : - MTRCallbackBridge(queue, handler, action, - OnSuccessFn, keepAlive){}; - - static void - OnSuccessFn(void * context, - const chip::app::DataModel::Nullable & value); -}; - -class MTRNullableApplianceEventsAndAlertClusterEventIdentificationAttributeCallbackSubscriptionBridge - : public MTRNullableApplianceEventsAndAlertClusterEventIdentificationAttributeCallbackBridge -{ -public: - MTRNullableApplianceEventsAndAlertClusterEventIdentificationAttributeCallbackSubscriptionBridge( - dispatch_queue_t queue, ResponseHandler handler, MTRActionBlock action, SubscriptionEstablishedHandler establishedHandler) : - MTRNullableApplianceEventsAndAlertClusterEventIdentificationAttributeCallbackBridge(queue, handler, action, true), - mEstablishedHandler(establishedHandler) - {} - - static void OnSubscriptionEstablished(void * context); - -private: - SubscriptionEstablishedHandler mEstablishedHandler; -}; - class MTRTestClusterClusterSimpleEnumAttributeCallbackBridge : public MTRCallbackBridge { diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h index 880545c1cc509e..b42608dd19ed7c 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h @@ -23,24 +23,17 @@ #pragma mark - Clusters IDs typedef NS_ENUM(uint32_t, MTRClusterIDType) { - MTRClusterPowerConfigurationID = 0x00000001, - MTRClusterDeviceTemperatureConfigurationID = 0x00000002, MTRClusterIdentifyID = 0x00000003, MTRClusterGroupsID = 0x00000004, MTRClusterScenesID = 0x00000005, MTRClusterOnOffID = 0x00000006, MTRClusterOnOffSwitchConfigurationID = 0x00000007, MTRClusterLevelControlID = 0x00000008, - MTRClusterAlarmsID = 0x00000009, - MTRClusterTimeID = 0x0000000A, MTRClusterBinaryInputBasicID = 0x0000000F, - MTRClusterPowerProfileID = 0x0000001A, - MTRClusterApplianceControlID = 0x0000001B, MTRClusterPulseWidthModulationID = 0x0000001C, MTRClusterDescriptorID = 0x0000001D, MTRClusterBindingID = 0x0000001E, MTRClusterAccessControlID = 0x0000001F, - MTRClusterPollControlID = 0x00000020, MTRClusterBridgedActionsID = 0x00000025, MTRClusterBasicID = 0x00000028, MTRClusterOtaSoftwareUpdateProviderID = 0x00000029, @@ -71,14 +64,12 @@ typedef NS_ENUM(uint32_t, MTRClusterIDType) { MTRClusterProxyValidID = 0x00000044, MTRClusterBooleanStateID = 0x00000045, MTRClusterModeSelectID = 0x00000050, - MTRClusterShadeConfigurationID = 0x00000100, MTRClusterDoorLockID = 0x00000101, MTRClusterWindowCoveringID = 0x00000102, MTRClusterBarrierControlID = 0x00000103, MTRClusterPumpConfigurationAndControlID = 0x00000200, MTRClusterThermostatID = 0x00000201, MTRClusterFanControlID = 0x00000202, - MTRClusterDehumidificationControlID = 0x00000203, MTRClusterThermostatUserInterfaceConfigurationID = 0x00000204, MTRClusterColorControlID = 0x00000300, MTRClusterBallastConfigurationID = 0x00000301, @@ -88,36 +79,6 @@ typedef NS_ENUM(uint32_t, MTRClusterIDType) { MTRClusterFlowMeasurementID = 0x00000404, MTRClusterRelativeHumidityMeasurementID = 0x00000405, MTRClusterOccupancySensingID = 0x00000406, - MTRClusterCarbonMonoxideConcentrationMeasurementID = 0x0000040C, - MTRClusterCarbonDioxideConcentrationMeasurementID = 0x0000040D, - MTRClusterEthyleneConcentrationMeasurementID = 0x0000040E, - MTRClusterEthyleneOxideConcentrationMeasurementID = 0x0000040F, - MTRClusterHydrogenConcentrationMeasurementID = 0x00000410, - MTRClusterHydrogenSulphideConcentrationMeasurementID = 0x00000411, - MTRClusterNitricOxideConcentrationMeasurementID = 0x00000412, - MTRClusterNitrogenDioxideConcentrationMeasurementID = 0x00000413, - MTRClusterOxygenConcentrationMeasurementID = 0x00000414, - MTRClusterOzoneConcentrationMeasurementID = 0x00000415, - MTRClusterSulfurDioxideConcentrationMeasurementID = 0x00000416, - MTRClusterDissolvedOxygenConcentrationMeasurementID = 0x00000417, - MTRClusterBromateConcentrationMeasurementID = 0x00000418, - MTRClusterChloraminesConcentrationMeasurementID = 0x00000419, - MTRClusterChlorineConcentrationMeasurementID = 0x0000041A, - MTRClusterFecalColiformAndEColiConcentrationMeasurementID = 0x0000041B, - MTRClusterFluorideConcentrationMeasurementID = 0x0000041C, - MTRClusterHaloaceticAcidsConcentrationMeasurementID = 0x0000041D, - MTRClusterTotalTrihalomethanesConcentrationMeasurementID = 0x0000041E, - MTRClusterTotalColiformBacteriaConcentrationMeasurementID = 0x0000041F, - MTRClusterTurbidityConcentrationMeasurementID = 0x00000420, - MTRClusterCopperConcentrationMeasurementID = 0x00000421, - MTRClusterLeadConcentrationMeasurementID = 0x00000422, - MTRClusterManganeseConcentrationMeasurementID = 0x00000423, - MTRClusterSulfateConcentrationMeasurementID = 0x00000424, - MTRClusterBromodichloromethaneConcentrationMeasurementID = 0x00000425, - MTRClusterBromoformConcentrationMeasurementID = 0x00000426, - MTRClusterChlorodibromomethaneConcentrationMeasurementID = 0x00000427, - MTRClusterChloroformConcentrationMeasurementID = 0x00000428, - MTRClusterSodiumConcentrationMeasurementID = 0x00000429, MTRClusterWakeOnLanID = 0x00000503, MTRClusterChannelID = 0x00000504, MTRClusterTargetNavigatorID = 0x00000505, @@ -130,10 +91,6 @@ typedef NS_ENUM(uint32_t, MTRClusterIDType) { MTRClusterApplicationLauncherID = 0x0000050C, MTRClusterApplicationBasicID = 0x0000050D, MTRClusterAccountLoginID = 0x0000050E, - MTRClusterApplianceIdentificationID = 0x00000B00, - MTRClusterMeterIdentificationID = 0x00000B01, - MTRClusterApplianceEventsAndAlertID = 0x00000B02, - MTRClusterApplianceStatisticsID = 0x00000B03, MTRClusterElectricalMeasurementID = 0x00000B04, MTRClusterTestClusterID = 0xFFF1FC05, }; @@ -148,86 +105,6 @@ typedef NS_ENUM(uint32_t, MTRClusterAttributeIDType) { MTRClusterGlobalAttributeFeatureMapID = 0x0000FFFC, MTRClusterGlobalAttributeClusterRevisionID = 0x0000FFFD, - // Cluster PowerConfiguration attributes - MTRClusterPowerConfigurationAttributeMainsVoltageID = 0x00000000, - MTRClusterPowerConfigurationAttributeMainsFrequencyID = 0x00000001, - MTRClusterPowerConfigurationAttributeMainsAlarmMaskID = 0x00000010, - MTRClusterPowerConfigurationAttributeMainsVoltageMinThresholdID = 0x00000011, - MTRClusterPowerConfigurationAttributeMainsVoltageMaxThresholdID = 0x00000012, - MTRClusterPowerConfigurationAttributeMainsVoltageDwellTripID = 0x00000013, - MTRClusterPowerConfigurationAttributeBatteryVoltageID = 0x00000020, - MTRClusterPowerConfigurationAttributeBatteryPercentageRemainingID = 0x00000021, - MTRClusterPowerConfigurationAttributeBatteryManufacturerID = 0x00000030, - MTRClusterPowerConfigurationAttributeBatterySizeID = 0x00000031, - MTRClusterPowerConfigurationAttributeBatteryAhrRatingID = 0x00000032, - MTRClusterPowerConfigurationAttributeBatteryQuantityID = 0x00000033, - MTRClusterPowerConfigurationAttributeBatteryRatedVoltageID = 0x00000034, - MTRClusterPowerConfigurationAttributeBatteryAlarmMaskID = 0x00000035, - MTRClusterPowerConfigurationAttributeBatteryVoltageMinThresholdID = 0x00000036, - MTRClusterPowerConfigurationAttributeBatteryVoltageThreshold1ID = 0x00000037, - MTRClusterPowerConfigurationAttributeBatteryVoltageThreshold2ID = 0x00000038, - MTRClusterPowerConfigurationAttributeBatteryVoltageThreshold3ID = 0x00000039, - MTRClusterPowerConfigurationAttributeBatteryPercentageMinThresholdID = 0x0000003A, - MTRClusterPowerConfigurationAttributeBatteryPercentageThreshold1ID = 0x0000003B, - MTRClusterPowerConfigurationAttributeBatteryPercentageThreshold2ID = 0x0000003C, - MTRClusterPowerConfigurationAttributeBatteryPercentageThreshold3ID = 0x0000003D, - MTRClusterPowerConfigurationAttributeBatteryAlarmStateID = 0x0000003E, - MTRClusterPowerConfigurationAttributeBattery2VoltageID = 0x00000040, - MTRClusterPowerConfigurationAttributeBattery2PercentageRemainingID = 0x00000041, - MTRClusterPowerConfigurationAttributeBattery2ManufacturerID = 0x00000050, - MTRClusterPowerConfigurationAttributeBattery2SizeID = 0x00000051, - MTRClusterPowerConfigurationAttributeBattery2AhrRatingID = 0x00000052, - MTRClusterPowerConfigurationAttributeBattery2QuantityID = 0x00000053, - MTRClusterPowerConfigurationAttributeBattery2RatedVoltageID = 0x00000054, - MTRClusterPowerConfigurationAttributeBattery2AlarmMaskID = 0x00000055, - MTRClusterPowerConfigurationAttributeBattery2VoltageMinThresholdID = 0x00000056, - MTRClusterPowerConfigurationAttributeBattery2VoltageThreshold1ID = 0x00000057, - MTRClusterPowerConfigurationAttributeBattery2VoltageThreshold2ID = 0x00000058, - MTRClusterPowerConfigurationAttributeBattery2VoltageThreshold3ID = 0x00000059, - MTRClusterPowerConfigurationAttributeBattery2PercentageMinThresholdID = 0x0000005A, - MTRClusterPowerConfigurationAttributeBattery2PercentageThreshold1ID = 0x0000005B, - MTRClusterPowerConfigurationAttributeBattery2PercentageThreshold2ID = 0x0000005C, - MTRClusterPowerConfigurationAttributeBattery2PercentageThreshold3ID = 0x0000005D, - MTRClusterPowerConfigurationAttributeBattery2AlarmStateID = 0x0000005E, - MTRClusterPowerConfigurationAttributeBattery3VoltageID = 0x00000060, - MTRClusterPowerConfigurationAttributeBattery3PercentageRemainingID = 0x00000061, - MTRClusterPowerConfigurationAttributeBattery3ManufacturerID = 0x00000070, - MTRClusterPowerConfigurationAttributeBattery3SizeID = 0x00000071, - MTRClusterPowerConfigurationAttributeBattery3AhrRatingID = 0x00000072, - MTRClusterPowerConfigurationAttributeBattery3QuantityID = 0x00000073, - MTRClusterPowerConfigurationAttributeBattery3RatedVoltageID = 0x00000074, - MTRClusterPowerConfigurationAttributeBattery3AlarmMaskID = 0x00000075, - MTRClusterPowerConfigurationAttributeBattery3VoltageMinThresholdID = 0x00000076, - MTRClusterPowerConfigurationAttributeBattery3VoltageThreshold1ID = 0x00000077, - MTRClusterPowerConfigurationAttributeBattery3VoltageThreshold2ID = 0x00000078, - MTRClusterPowerConfigurationAttributeBattery3VoltageThreshold3ID = 0x00000079, - MTRClusterPowerConfigurationAttributeBattery3PercentageMinThresholdID = 0x0000007A, - MTRClusterPowerConfigurationAttributeBattery3PercentageThreshold1ID = 0x0000007B, - MTRClusterPowerConfigurationAttributeBattery3PercentageThreshold2ID = 0x0000007C, - MTRClusterPowerConfigurationAttributeBattery3PercentageThreshold3ID = 0x0000007D, - MTRClusterPowerConfigurationAttributeBattery3AlarmStateID = 0x0000007E, - MTRClusterPowerConfigurationAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterPowerConfigurationAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterPowerConfigurationAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterPowerConfigurationAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterPowerConfigurationAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster DeviceTemperatureConfiguration attributes - MTRClusterDeviceTemperatureConfigurationAttributeCurrentTemperatureID = 0x00000000, - MTRClusterDeviceTemperatureConfigurationAttributeMinTempExperiencedID = 0x00000001, - MTRClusterDeviceTemperatureConfigurationAttributeMaxTempExperiencedID = 0x00000002, - MTRClusterDeviceTemperatureConfigurationAttributeOverTempTotalDwellID = 0x00000003, - MTRClusterDeviceTemperatureConfigurationAttributeDeviceTempAlarmMaskID = 0x00000010, - MTRClusterDeviceTemperatureConfigurationAttributeLowTempThresholdID = 0x00000011, - MTRClusterDeviceTemperatureConfigurationAttributeHighTempThresholdID = 0x00000012, - MTRClusterDeviceTemperatureConfigurationAttributeLowTempDwellTripPointID = 0x00000013, - MTRClusterDeviceTemperatureConfigurationAttributeHighTempDwellTripPointID = 0x00000014, - MTRClusterDeviceTemperatureConfigurationAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterDeviceTemperatureConfigurationAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterDeviceTemperatureConfigurationAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterDeviceTemperatureConfigurationAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterDeviceTemperatureConfigurationAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - // Cluster Identify attributes MTRClusterIdentifyAttributeIdentifyTimeID = 0x00000000, MTRClusterIdentifyAttributeIdentifyTypeID = 0x00000001, @@ -300,31 +177,6 @@ typedef NS_ENUM(uint32_t, MTRClusterAttributeIDType) { MTRClusterLevelControlAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, MTRClusterLevelControlAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - // Cluster Alarms attributes - MTRClusterAlarmsAttributeAlarmCountID = 0x00000000, - MTRClusterAlarmsAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterAlarmsAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterAlarmsAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterAlarmsAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterAlarmsAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster Time attributes - MTRClusterTimeAttributeTimeID = 0x00000000, - MTRClusterTimeAttributeTimeStatusID = 0x00000001, - MTRClusterTimeAttributeTimeZoneID = 0x00000002, - MTRClusterTimeAttributeDstStartID = 0x00000003, - MTRClusterTimeAttributeDstEndID = 0x00000004, - MTRClusterTimeAttributeDstShiftID = 0x00000005, - MTRClusterTimeAttributeStandardTimeID = 0x00000006, - MTRClusterTimeAttributeLocalTimeID = 0x00000007, - MTRClusterTimeAttributeLastSetTimeID = 0x00000008, - MTRClusterTimeAttributeValidUntilTimeID = 0x00000009, - MTRClusterTimeAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterTimeAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterTimeAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterTimeAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterTimeAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - // Cluster BinaryInputBasic attributes MTRClusterBinaryInputBasicAttributeActiveTextID = 0x00000004, MTRClusterBinaryInputBasicAttributeDescriptionID = 0x0000001C, @@ -341,28 +193,6 @@ typedef NS_ENUM(uint32_t, MTRClusterAttributeIDType) { MTRClusterBinaryInputBasicAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, MTRClusterBinaryInputBasicAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - // Cluster PowerProfile attributes - MTRClusterPowerProfileAttributeTotalProfileNumID = 0x00000000, - MTRClusterPowerProfileAttributeMultipleSchedulingID = 0x00000001, - MTRClusterPowerProfileAttributeEnergyFormattingID = 0x00000002, - MTRClusterPowerProfileAttributeEnergyRemoteID = 0x00000003, - MTRClusterPowerProfileAttributeScheduleModeID = 0x00000004, - MTRClusterPowerProfileAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterPowerProfileAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterPowerProfileAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterPowerProfileAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterPowerProfileAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster ApplianceControl attributes - MTRClusterApplianceControlAttributeStartTimeID = 0x00000000, - MTRClusterApplianceControlAttributeFinishTimeID = 0x00000001, - MTRClusterApplianceControlAttributeRemainingTimeID = 0x00000002, - MTRClusterApplianceControlAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterApplianceControlAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterApplianceControlAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterApplianceControlAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterApplianceControlAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - // Cluster PulseWidthModulation attributes MTRClusterPulseWidthModulationAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, MTRClusterPulseWidthModulationAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, @@ -401,20 +231,6 @@ typedef NS_ENUM(uint32_t, MTRClusterAttributeIDType) { MTRClusterAccessControlAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, MTRClusterAccessControlAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - // Cluster PollControl attributes - MTRClusterPollControlAttributeCheckInIntervalID = 0x00000000, - MTRClusterPollControlAttributeLongPollIntervalID = 0x00000001, - MTRClusterPollControlAttributeShortPollIntervalID = 0x00000002, - MTRClusterPollControlAttributeFastPollTimeoutID = 0x00000003, - MTRClusterPollControlAttributeCheckInIntervalMinID = 0x00000004, - MTRClusterPollControlAttributeLongPollIntervalMinID = 0x00000005, - MTRClusterPollControlAttributeFastPollTimeoutMaxID = 0x00000006, - MTRClusterPollControlAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterPollControlAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterPollControlAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterPollControlAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterPollControlAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - // Cluster BridgedActions attributes MTRClusterBridgedActionsAttributeActionListID = 0x00000000, MTRClusterBridgedActionsAttributeEndpointListID = 0x00000001, @@ -841,18 +657,6 @@ typedef NS_ENUM(uint32_t, MTRClusterAttributeIDType) { MTRClusterModeSelectAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, MTRClusterModeSelectAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - // Cluster ShadeConfiguration attributes - MTRClusterShadeConfigurationAttributePhysicalClosedLimitID = 0x00000000, - MTRClusterShadeConfigurationAttributeMotorStepSizeID = 0x00000001, - MTRClusterShadeConfigurationAttributeStatusID = 0x00000002, - MTRClusterShadeConfigurationAttributeClosedLimitID = 0x00000010, - MTRClusterShadeConfigurationAttributeModeID = 0x00000011, - MTRClusterShadeConfigurationAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterShadeConfigurationAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterShadeConfigurationAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterShadeConfigurationAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterShadeConfigurationAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - // Cluster DoorLock attributes MTRClusterDoorLockAttributeLockStateID = 0x00000000, MTRClusterDoorLockAttributeLockTypeID = 0x00000001, @@ -1046,21 +850,6 @@ typedef NS_ENUM(uint32_t, MTRClusterAttributeIDType) { MTRClusterFanControlAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, MTRClusterFanControlAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - // Cluster DehumidificationControl attributes - MTRClusterDehumidificationControlAttributeRelativeHumidityID = 0x00000000, - MTRClusterDehumidificationControlAttributeDehumidificationCoolingID = 0x00000001, - MTRClusterDehumidificationControlAttributeRhDehumidificationSetpointID = 0x00000010, - MTRClusterDehumidificationControlAttributeRelativeHumidityModeID = 0x00000011, - MTRClusterDehumidificationControlAttributeDehumidificationLockoutID = 0x00000012, - MTRClusterDehumidificationControlAttributeDehumidificationHysteresisID = 0x00000013, - MTRClusterDehumidificationControlAttributeDehumidificationMaxCoolID = 0x00000014, - MTRClusterDehumidificationControlAttributeRelativeHumidityDisplayID = 0x00000015, - MTRClusterDehumidificationControlAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterDehumidificationControlAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterDehumidificationControlAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterDehumidificationControlAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterDehumidificationControlAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - // Cluster ThermostatUserInterfaceConfiguration attributes MTRClusterThermostatUserInterfaceConfigurationAttributeTemperatureDisplayModeID = 0x00000000, MTRClusterThermostatUserInterfaceConfigurationAttributeKeypadLockoutID = 0x00000001, @@ -1231,358 +1020,6 @@ typedef NS_ENUM(uint32_t, MTRClusterAttributeIDType) { MTRClusterOccupancySensingAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, MTRClusterOccupancySensingAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - // Cluster CarbonMonoxideConcentrationMeasurement attributes - MTRClusterCarbonMonoxideConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterCarbonMonoxideConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterCarbonMonoxideConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterCarbonMonoxideConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterCarbonMonoxideConcentrationMeasurementAttributeGeneratedCommandListID - = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterCarbonMonoxideConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterCarbonMonoxideConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterCarbonMonoxideConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterCarbonMonoxideConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster CarbonDioxideConcentrationMeasurement attributes - MTRClusterCarbonDioxideConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterCarbonDioxideConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterCarbonDioxideConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterCarbonDioxideConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterCarbonDioxideConcentrationMeasurementAttributeGeneratedCommandListID - = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterCarbonDioxideConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterCarbonDioxideConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterCarbonDioxideConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterCarbonDioxideConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster EthyleneConcentrationMeasurement attributes - MTRClusterEthyleneConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterEthyleneConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterEthyleneConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterEthyleneConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterEthyleneConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterEthyleneConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterEthyleneConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterEthyleneConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterEthyleneConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster EthyleneOxideConcentrationMeasurement attributes - MTRClusterEthyleneOxideConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterEthyleneOxideConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterEthyleneOxideConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterEthyleneOxideConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterEthyleneOxideConcentrationMeasurementAttributeGeneratedCommandListID - = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterEthyleneOxideConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterEthyleneOxideConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterEthyleneOxideConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterEthyleneOxideConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster HydrogenConcentrationMeasurement attributes - MTRClusterHydrogenConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterHydrogenConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterHydrogenConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterHydrogenConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterHydrogenConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterHydrogenConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterHydrogenConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterHydrogenConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterHydrogenConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster HydrogenSulphideConcentrationMeasurement attributes - MTRClusterHydrogenSulphideConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterHydrogenSulphideConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterHydrogenSulphideConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterHydrogenSulphideConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterHydrogenSulphideConcentrationMeasurementAttributeGeneratedCommandListID - = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterHydrogenSulphideConcentrationMeasurementAttributeAcceptedCommandListID - = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterHydrogenSulphideConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterHydrogenSulphideConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterHydrogenSulphideConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster NitricOxideConcentrationMeasurement attributes - MTRClusterNitricOxideConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterNitricOxideConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterNitricOxideConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterNitricOxideConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterNitricOxideConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterNitricOxideConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterNitricOxideConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterNitricOxideConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterNitricOxideConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster NitrogenDioxideConcentrationMeasurement attributes - MTRClusterNitrogenDioxideConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterNitrogenDioxideConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterNitrogenDioxideConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterNitrogenDioxideConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterNitrogenDioxideConcentrationMeasurementAttributeGeneratedCommandListID - = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterNitrogenDioxideConcentrationMeasurementAttributeAcceptedCommandListID - = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterNitrogenDioxideConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterNitrogenDioxideConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterNitrogenDioxideConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster OxygenConcentrationMeasurement attributes - MTRClusterOxygenConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterOxygenConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterOxygenConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterOxygenConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterOxygenConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterOxygenConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterOxygenConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterOxygenConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterOxygenConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster OzoneConcentrationMeasurement attributes - MTRClusterOzoneConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterOzoneConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterOzoneConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterOzoneConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterOzoneConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterOzoneConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterOzoneConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterOzoneConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterOzoneConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster SulfurDioxideConcentrationMeasurement attributes - MTRClusterSulfurDioxideConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterSulfurDioxideConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterSulfurDioxideConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterSulfurDioxideConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterSulfurDioxideConcentrationMeasurementAttributeGeneratedCommandListID - = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterSulfurDioxideConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterSulfurDioxideConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterSulfurDioxideConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterSulfurDioxideConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster DissolvedOxygenConcentrationMeasurement attributes - MTRClusterDissolvedOxygenConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterDissolvedOxygenConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterDissolvedOxygenConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterDissolvedOxygenConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterDissolvedOxygenConcentrationMeasurementAttributeGeneratedCommandListID - = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterDissolvedOxygenConcentrationMeasurementAttributeAcceptedCommandListID - = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterDissolvedOxygenConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterDissolvedOxygenConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterDissolvedOxygenConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster BromateConcentrationMeasurement attributes - MTRClusterBromateConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterBromateConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterBromateConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterBromateConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterBromateConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterBromateConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterBromateConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterBromateConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterBromateConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster ChloraminesConcentrationMeasurement attributes - MTRClusterChloraminesConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterChloraminesConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterChloraminesConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterChloraminesConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterChloraminesConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterChloraminesConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterChloraminesConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterChloraminesConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterChloraminesConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster ChlorineConcentrationMeasurement attributes - MTRClusterChlorineConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterChlorineConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterChlorineConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterChlorineConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterChlorineConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterChlorineConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterChlorineConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterChlorineConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterChlorineConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster FecalColiformAndEColiConcentrationMeasurement attributes - MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeGeneratedCommandListID - = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeAcceptedCommandListID - = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster FluorideConcentrationMeasurement attributes - MTRClusterFluorideConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterFluorideConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterFluorideConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterFluorideConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterFluorideConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterFluorideConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterFluorideConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterFluorideConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterFluorideConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster HaloaceticAcidsConcentrationMeasurement attributes - MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeGeneratedCommandListID - = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeAcceptedCommandListID - = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster TotalTrihalomethanesConcentrationMeasurement attributes - MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeGeneratedCommandListID - = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeAcceptedCommandListID - = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster TotalColiformBacteriaConcentrationMeasurement attributes - MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeGeneratedCommandListID - = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeAcceptedCommandListID - = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster TurbidityConcentrationMeasurement attributes - MTRClusterTurbidityConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterTurbidityConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterTurbidityConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterTurbidityConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterTurbidityConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterTurbidityConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterTurbidityConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterTurbidityConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterTurbidityConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster CopperConcentrationMeasurement attributes - MTRClusterCopperConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterCopperConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterCopperConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterCopperConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterCopperConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterCopperConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterCopperConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterCopperConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterCopperConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster LeadConcentrationMeasurement attributes - MTRClusterLeadConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterLeadConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterLeadConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterLeadConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterLeadConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterLeadConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterLeadConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterLeadConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterLeadConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster ManganeseConcentrationMeasurement attributes - MTRClusterManganeseConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterManganeseConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterManganeseConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterManganeseConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterManganeseConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterManganeseConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterManganeseConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterManganeseConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterManganeseConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster SulfateConcentrationMeasurement attributes - MTRClusterSulfateConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterSulfateConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterSulfateConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterSulfateConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterSulfateConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterSulfateConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterSulfateConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterSulfateConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterSulfateConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster BromodichloromethaneConcentrationMeasurement attributes - MTRClusterBromodichloromethaneConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterBromodichloromethaneConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterBromodichloromethaneConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterBromodichloromethaneConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterBromodichloromethaneConcentrationMeasurementAttributeGeneratedCommandListID - = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterBromodichloromethaneConcentrationMeasurementAttributeAcceptedCommandListID - = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterBromodichloromethaneConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterBromodichloromethaneConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterBromodichloromethaneConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster BromoformConcentrationMeasurement attributes - MTRClusterBromoformConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterBromoformConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterBromoformConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterBromoformConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterBromoformConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterBromoformConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterBromoformConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterBromoformConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterBromoformConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster ChlorodibromomethaneConcentrationMeasurement attributes - MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeGeneratedCommandListID - = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeAcceptedCommandListID - = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster ChloroformConcentrationMeasurement attributes - MTRClusterChloroformConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterChloroformConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterChloroformConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterChloroformConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterChloroformConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterChloroformConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterChloroformConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterChloroformConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterChloroformConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster SodiumConcentrationMeasurement attributes - MTRClusterSodiumConcentrationMeasurementAttributeMeasuredValueID = 0x00000000, - MTRClusterSodiumConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001, - MTRClusterSodiumConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002, - MTRClusterSodiumConcentrationMeasurementAttributeToleranceID = 0x00000003, - MTRClusterSodiumConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterSodiumConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterSodiumConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterSodiumConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterSodiumConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - // Cluster WakeOnLan attributes MTRClusterWakeOnLanAttributeMACAddressID = 0x00000000, MTRClusterWakeOnLanAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, @@ -1696,60 +1133,6 @@ typedef NS_ENUM(uint32_t, MTRClusterAttributeIDType) { MTRClusterAccountLoginAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, MTRClusterAccountLoginAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - // Cluster ApplianceIdentification attributes - MTRClusterApplianceIdentificationAttributeBasicIdentificationID = 0x00000000, - MTRClusterApplianceIdentificationAttributeCompanyNameID = 0x00000010, - MTRClusterApplianceIdentificationAttributeCompanyIdID = 0x00000011, - MTRClusterApplianceIdentificationAttributeBrandNameID = 0x00000012, - MTRClusterApplianceIdentificationAttributeBrandIdID = 0x00000013, - MTRClusterApplianceIdentificationAttributeModelID = 0x00000014, - MTRClusterApplianceIdentificationAttributePartNumberID = 0x00000015, - MTRClusterApplianceIdentificationAttributeProductRevisionID = 0x00000016, - MTRClusterApplianceIdentificationAttributeSoftwareRevisionID = 0x00000017, - MTRClusterApplianceIdentificationAttributeProductTypeNameID = 0x00000018, - MTRClusterApplianceIdentificationAttributeProductTypeIdID = 0x00000019, - MTRClusterApplianceIdentificationAttributeCecedSpecificationVersionID = 0x0000001A, - MTRClusterApplianceIdentificationAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterApplianceIdentificationAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterApplianceIdentificationAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterApplianceIdentificationAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterApplianceIdentificationAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster MeterIdentification attributes - MTRClusterMeterIdentificationAttributeCompanyNameID = 0x00000000, - MTRClusterMeterIdentificationAttributeMeterTypeIdID = 0x00000001, - MTRClusterMeterIdentificationAttributeDataQualityIdID = 0x00000004, - MTRClusterMeterIdentificationAttributeCustomerNameID = 0x00000005, - MTRClusterMeterIdentificationAttributeModelID = 0x00000006, - MTRClusterMeterIdentificationAttributePartNumberID = 0x00000007, - MTRClusterMeterIdentificationAttributeProductRevisionID = 0x00000008, - MTRClusterMeterIdentificationAttributeSoftwareRevisionID = 0x0000000A, - MTRClusterMeterIdentificationAttributeUtilityNameID = 0x0000000B, - MTRClusterMeterIdentificationAttributePodID = 0x0000000C, - MTRClusterMeterIdentificationAttributeAvailablePowerID = 0x0000000D, - MTRClusterMeterIdentificationAttributePowerThresholdID = 0x0000000E, - MTRClusterMeterIdentificationAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterMeterIdentificationAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterMeterIdentificationAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterMeterIdentificationAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterMeterIdentificationAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster ApplianceEventsAndAlert attributes - MTRClusterApplianceEventsAndAlertAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterApplianceEventsAndAlertAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterApplianceEventsAndAlertAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterApplianceEventsAndAlertAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterApplianceEventsAndAlertAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - - // Cluster ApplianceStatistics attributes - MTRClusterApplianceStatisticsAttributeLogMaxSizeID = 0x00000000, - MTRClusterApplianceStatisticsAttributeLogQueueMaxSizeID = 0x00000001, - MTRClusterApplianceStatisticsAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID, - MTRClusterApplianceStatisticsAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID, - MTRClusterApplianceStatisticsAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID, - MTRClusterApplianceStatisticsAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID, - MTRClusterApplianceStatisticsAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID, - // Cluster ElectricalMeasurement attributes MTRClusterElectricalMeasurementAttributeMeasurementTypeID = 0x00000000, MTRClusterElectricalMeasurementAttributeDcVoltageID = 0x00000100, @@ -2034,54 +1417,6 @@ typedef NS_ENUM(uint32_t, MTRClusterCommandIDType) { MTRClusterLevelControlCommandStopWithOnOffID = 0x00000007, MTRClusterLevelControlCommandMoveToClosestFrequencyID = 0x00000008, - // Cluster Alarms commands - MTRClusterAlarmsCommandResetAlarmID = 0x00000000, - MTRClusterAlarmsCommandAlarmID = 0x00000000, - MTRClusterAlarmsCommandResetAllAlarmsID = 0x00000001, - MTRClusterAlarmsCommandGetAlarmResponseID = 0x00000001, - MTRClusterAlarmsCommandGetAlarmID = 0x00000002, - MTRClusterAlarmsCommandResetAlarmLogID = 0x00000003, - - // Cluster PowerProfile commands - MTRClusterPowerProfileCommandPowerProfileRequestID = 0x00000000, - MTRClusterPowerProfileCommandPowerProfileNotificationID = 0x00000000, - MTRClusterPowerProfileCommandPowerProfileStateRequestID = 0x00000001, - MTRClusterPowerProfileCommandPowerProfileResponseID = 0x00000001, - MTRClusterPowerProfileCommandGetPowerProfilePriceResponseID = 0x00000002, - MTRClusterPowerProfileCommandPowerProfileStateResponseID = 0x00000002, - MTRClusterPowerProfileCommandGetOverallSchedulePriceResponseID = 0x00000003, - MTRClusterPowerProfileCommandGetPowerProfilePriceID = 0x00000003, - MTRClusterPowerProfileCommandEnergyPhasesScheduleNotificationID = 0x00000004, - MTRClusterPowerProfileCommandPowerProfilesStateNotificationID = 0x00000004, - MTRClusterPowerProfileCommandEnergyPhasesScheduleResponseID = 0x00000005, - MTRClusterPowerProfileCommandGetOverallSchedulePriceID = 0x00000005, - MTRClusterPowerProfileCommandPowerProfileScheduleConstraintsRequestID = 0x00000006, - MTRClusterPowerProfileCommandEnergyPhasesScheduleRequestID = 0x00000006, - MTRClusterPowerProfileCommandEnergyPhasesScheduleStateRequestID = 0x00000007, - MTRClusterPowerProfileCommandEnergyPhasesScheduleStateResponseID = 0x00000007, - MTRClusterPowerProfileCommandGetPowerProfilePriceExtendedResponseID = 0x00000008, - MTRClusterPowerProfileCommandEnergyPhasesScheduleStateNotificationID = 0x00000008, - MTRClusterPowerProfileCommandPowerProfileScheduleConstraintsNotificationID = 0x00000009, - MTRClusterPowerProfileCommandPowerProfileScheduleConstraintsResponseID = 0x0000000A, - MTRClusterPowerProfileCommandGetPowerProfilePriceExtendedID = 0x0000000B, - - // Cluster ApplianceControl commands - MTRClusterApplianceControlCommandExecutionOfACommandID = 0x00000000, - MTRClusterApplianceControlCommandSignalStateResponseID = 0x00000000, - MTRClusterApplianceControlCommandSignalStateID = 0x00000001, - MTRClusterApplianceControlCommandSignalStateNotificationID = 0x00000001, - MTRClusterApplianceControlCommandWriteFunctionsID = 0x00000002, - MTRClusterApplianceControlCommandOverloadPauseResumeID = 0x00000003, - MTRClusterApplianceControlCommandOverloadPauseID = 0x00000004, - MTRClusterApplianceControlCommandOverloadWarningID = 0x00000005, - - // Cluster PollControl commands - MTRClusterPollControlCommandCheckInID = 0x00000000, - MTRClusterPollControlCommandCheckInResponseID = 0x00000000, - MTRClusterPollControlCommandFastPollStopID = 0x00000001, - MTRClusterPollControlCommandSetLongPollIntervalID = 0x00000002, - MTRClusterPollControlCommandSetShortPollIntervalID = 0x00000003, - // Cluster BridgedActions commands MTRClusterBridgedActionsCommandInstantActionID = 0x00000000, MTRClusterBridgedActionsCommandInstantActionWithTransitionID = 0x00000001, @@ -2302,20 +1637,6 @@ typedef NS_ENUM(uint32_t, MTRClusterCommandIDType) { MTRClusterAccountLoginCommandLoginID = 0x00000002, MTRClusterAccountLoginCommandLogoutID = 0x00000003, - // Cluster ApplianceEventsAndAlert commands - MTRClusterApplianceEventsAndAlertCommandGetAlertsID = 0x00000000, - MTRClusterApplianceEventsAndAlertCommandGetAlertsResponseID = 0x00000000, - MTRClusterApplianceEventsAndAlertCommandAlertsNotificationID = 0x00000001, - MTRClusterApplianceEventsAndAlertCommandEventsNotificationID = 0x00000002, - - // Cluster ApplianceStatistics commands - MTRClusterApplianceStatisticsCommandLogNotificationID = 0x00000000, - MTRClusterApplianceStatisticsCommandLogRequestID = 0x00000000, - MTRClusterApplianceStatisticsCommandLogResponseID = 0x00000001, - MTRClusterApplianceStatisticsCommandLogQueueRequestID = 0x00000001, - MTRClusterApplianceStatisticsCommandLogQueueResponseID = 0x00000002, - MTRClusterApplianceStatisticsCommandStatisticsAvailableID = 0x00000003, - // Cluster ElectricalMeasurement commands MTRClusterElectricalMeasurementCommandGetProfileInfoResponseCommandID = 0x00000000, MTRClusterElectricalMeasurementCommandGetProfileInfoCommandID = 0x00000000, diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h index 7458c40cd83b99..a006465905e527 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h @@ -1157,950 +1157,6 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)init; -@end -@interface MTRAlarmsClusterResetAlarmParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull alarmCode; - -@property (strong, nonatomic) NSNumber * _Nonnull clusterId; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRAlarmsClusterAlarmParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull alarmCode; - -@property (strong, nonatomic) NSNumber * _Nonnull clusterId; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRAlarmsClusterResetAllAlarmsParams : NSObject -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRAlarmsClusterGetAlarmResponseParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull status; - -@property (strong, nonatomic) NSNumber * _Nonnull alarmCode; - -@property (strong, nonatomic) NSNumber * _Nonnull clusterId; - -@property (strong, nonatomic) NSNumber * _Nonnull timeStamp; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRAlarmsClusterGetAlarmParams : NSObject -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRAlarmsClusterResetAlarmLogParams : NSObject -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterPowerProfileRequestParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileId; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterPowerProfileNotificationParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull totalProfileNum; - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileId; - -@property (strong, nonatomic) NSNumber * _Nonnull numOfTransferredPhases; - -@property (strong, nonatomic) NSArray * _Nonnull transferredPhases; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterPowerProfileStateRequestParams : NSObject -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterPowerProfileResponseParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull totalProfileNum; - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileId; - -@property (strong, nonatomic) NSNumber * _Nonnull numOfTransferredPhases; - -@property (strong, nonatomic) NSArray * _Nonnull transferredPhases; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterGetPowerProfilePriceResponseParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileId; - -@property (strong, nonatomic) NSNumber * _Nonnull currency; - -@property (strong, nonatomic) NSNumber * _Nonnull price; - -@property (strong, nonatomic) NSNumber * _Nonnull priceTrailingDigit; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterPowerProfileStateResponseParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileCount; - -@property (strong, nonatomic) NSArray * _Nonnull powerProfileRecords; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterGetOverallSchedulePriceResponseParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull currency; - -@property (strong, nonatomic) NSNumber * _Nonnull price; - -@property (strong, nonatomic) NSNumber * _Nonnull priceTrailingDigit; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterGetPowerProfilePriceParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileId; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterEnergyPhasesScheduleNotificationParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileId; - -@property (strong, nonatomic) NSNumber * _Nonnull numOfScheduledPhases; - -@property (strong, nonatomic) NSArray * _Nonnull scheduledPhases; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterPowerProfilesStateNotificationParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileCount; - -@property (strong, nonatomic) NSArray * _Nonnull powerProfileRecords; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterEnergyPhasesScheduleResponseParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileId; - -@property (strong, nonatomic) NSNumber * _Nonnull numOfScheduledPhases; - -@property (strong, nonatomic) NSArray * _Nonnull scheduledPhases; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterGetOverallSchedulePriceParams : NSObject -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterPowerProfileScheduleConstraintsRequestParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileId; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterEnergyPhasesScheduleRequestParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileId; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterEnergyPhasesScheduleStateRequestParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileId; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterEnergyPhasesScheduleStateResponseParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileId; - -@property (strong, nonatomic) NSNumber * _Nonnull numOfScheduledPhases; - -@property (strong, nonatomic) NSArray * _Nonnull scheduledPhases; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterGetPowerProfilePriceExtendedResponseParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileId; - -@property (strong, nonatomic) NSNumber * _Nonnull currency; - -@property (strong, nonatomic) NSNumber * _Nonnull price; - -@property (strong, nonatomic) NSNumber * _Nonnull priceTrailingDigit; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterEnergyPhasesScheduleStateNotificationParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileId; - -@property (strong, nonatomic) NSNumber * _Nonnull numOfScheduledPhases; - -@property (strong, nonatomic) NSArray * _Nonnull scheduledPhases; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterPowerProfileScheduleConstraintsNotificationParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileId; - -@property (strong, nonatomic) NSNumber * _Nonnull startAfter; - -@property (strong, nonatomic) NSNumber * _Nonnull stopBefore; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterPowerProfileScheduleConstraintsResponseParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileId; - -@property (strong, nonatomic) NSNumber * _Nonnull startAfter; - -@property (strong, nonatomic) NSNumber * _Nonnull stopBefore; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPowerProfileClusterGetPowerProfilePriceExtendedParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull options; - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileId; - -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileStartTime; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRApplianceControlClusterExecutionOfACommandParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull commandId; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRApplianceControlClusterSignalStateResponseParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull applianceStatus; - -@property (strong, nonatomic) NSNumber * _Nonnull remoteEnableFlagsAndDeviceStatus2; - -@property (strong, nonatomic) NSNumber * _Nonnull applianceStatus2; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRApplianceControlClusterSignalStateParams : NSObject -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRApplianceControlClusterSignalStateNotificationParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull applianceStatus; - -@property (strong, nonatomic) NSNumber * _Nonnull remoteEnableFlagsAndDeviceStatus2; - -@property (strong, nonatomic) NSNumber * _Nonnull applianceStatus2; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRApplianceControlClusterWriteFunctionsParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull functionId; - -@property (strong, nonatomic) NSNumber * _Nonnull functionDataType; - -@property (strong, nonatomic) NSArray * _Nonnull functionData; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRApplianceControlClusterOverloadPauseResumeParams : NSObject -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRApplianceControlClusterOverloadPauseParams : NSObject -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRApplianceControlClusterOverloadWarningParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull warningEvent; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPollControlClusterCheckInParams : NSObject -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPollControlClusterCheckInResponseParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull startFastPolling; - -@property (strong, nonatomic) NSNumber * _Nonnull fastPollTimeout; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPollControlClusterFastPollStopParams : NSObject -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPollControlClusterSetLongPollIntervalParams : NSObject - -@property (strong, nonatomic, getter=getNewLongPollInterval) NSNumber * _Nonnull newLongPollInterval; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRPollControlClusterSetShortPollIntervalParams : NSObject - -@property (strong, nonatomic, getter=getNewShortPollInterval) NSNumber * _Nonnull newShortPollInterval; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - @end @interface MTRBridgedActionsClusterInstantActionParams : NSObject @@ -5993,244 +5049,6 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)init; -@end -@interface MTRApplianceEventsAndAlertClusterGetAlertsParams : NSObject -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRApplianceEventsAndAlertClusterGetAlertsResponseParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull alertsCount; - -@property (strong, nonatomic) NSArray * _Nonnull alertStructures; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRApplianceEventsAndAlertClusterAlertsNotificationParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull alertsCount; - -@property (strong, nonatomic) NSArray * _Nonnull alertStructures; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRApplianceEventsAndAlertClusterEventsNotificationParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull eventHeader; - -@property (strong, nonatomic) NSNumber * _Nonnull eventId; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRApplianceStatisticsClusterLogNotificationParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull timeStamp; - -@property (strong, nonatomic) NSNumber * _Nonnull logId; - -@property (strong, nonatomic) NSNumber * _Nonnull logLength; - -@property (strong, nonatomic) NSArray * _Nonnull logPayload; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRApplianceStatisticsClusterLogRequestParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull logId; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRApplianceStatisticsClusterLogResponseParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull timeStamp; - -@property (strong, nonatomic) NSNumber * _Nonnull logId; - -@property (strong, nonatomic) NSNumber * _Nonnull logLength; - -@property (strong, nonatomic) NSArray * _Nonnull logPayload; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRApplianceStatisticsClusterLogQueueRequestParams : NSObject -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRApplianceStatisticsClusterLogQueueResponseParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull logQueueSize; - -@property (strong, nonatomic) NSArray * _Nonnull logIds; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - -@end -@interface MTRApplianceStatisticsClusterStatisticsAvailableParams : NSObject - -@property (strong, nonatomic) NSNumber * _Nonnull logQueueSize; - -@property (strong, nonatomic) NSArray * _Nonnull logIds; -/** - * Controls whether the command is a timed command (using Timed Invoke). - * - * If nil (the default value), a regular invoke is done for commands that do - * not require a timed invoke and a timed invoke with some default timed request - * timeout is done for commands that require a timed invoke. - * - * If not nil, a timed invoke is done, with the provided value used as the timed - * request timeout. The value should be chosen small enough to provide the - * desired security properties but large enough that it will allow a round-trip - * from the sever to the client (for the status response and actual invoke - * request) within the timeout window. - * - */ -@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs; - -- (instancetype)init; - @end @interface MTRElectricalMeasurementClusterGetProfileInfoResponseCommandParams : NSObject diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm index 5a83c466d976f6..cdd9a5d7cb8325 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm @@ -1013,829 +1013,6 @@ - (NSString *)description return descriptionString; } -@end -@implementation MTRAlarmsClusterResetAlarmParams -- (instancetype)init -{ - if (self = [super init]) { - - _alarmCode = @(0); - - _clusterId = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: alarmCode:%@; clusterId:%@; >", NSStringFromClass([self class]), _alarmCode, _clusterId]; - return descriptionString; -} - -@end -@implementation MTRAlarmsClusterAlarmParams -- (instancetype)init -{ - if (self = [super init]) { - - _alarmCode = @(0); - - _clusterId = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: alarmCode:%@; clusterId:%@; >", NSStringFromClass([self class]), _alarmCode, _clusterId]; - return descriptionString; -} - -@end -@implementation MTRAlarmsClusterResetAllAlarmsParams -- (instancetype)init -{ - if (self = [super init]) { - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])]; - return descriptionString; -} - -@end -@implementation MTRAlarmsClusterGetAlarmResponseParams -- (instancetype)init -{ - if (self = [super init]) { - - _status = @(0); - - _alarmCode = @(0); - - _clusterId = @(0); - - _timeStamp = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: status:%@; alarmCode:%@; clusterId:%@; timeStamp:%@; >", - NSStringFromClass([self class]), _status, _alarmCode, _clusterId, _timeStamp]; - return descriptionString; -} - -@end -@implementation MTRAlarmsClusterGetAlarmParams -- (instancetype)init -{ - if (self = [super init]) { - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])]; - return descriptionString; -} - -@end -@implementation MTRAlarmsClusterResetAlarmLogParams -- (instancetype)init -{ - if (self = [super init]) { - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterPowerProfileRequestParams -- (instancetype)init -{ - if (self = [super init]) { - - _powerProfileId = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: powerProfileId:%@; >", NSStringFromClass([self class]), _powerProfileId]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterPowerProfileNotificationParams -- (instancetype)init -{ - if (self = [super init]) { - - _totalProfileNum = @(0); - - _powerProfileId = @(0); - - _numOfTransferredPhases = @(0); - - _transferredPhases = [NSArray array]; - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString - stringWithFormat:@"<%@: totalProfileNum:%@; powerProfileId:%@; numOfTransferredPhases:%@; transferredPhases:%@; >", - NSStringFromClass([self class]), _totalProfileNum, _powerProfileId, _numOfTransferredPhases, _transferredPhases]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterPowerProfileStateRequestParams -- (instancetype)init -{ - if (self = [super init]) { - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterPowerProfileResponseParams -- (instancetype)init -{ - if (self = [super init]) { - - _totalProfileNum = @(0); - - _powerProfileId = @(0); - - _numOfTransferredPhases = @(0); - - _transferredPhases = [NSArray array]; - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString - stringWithFormat:@"<%@: totalProfileNum:%@; powerProfileId:%@; numOfTransferredPhases:%@; transferredPhases:%@; >", - NSStringFromClass([self class]), _totalProfileNum, _powerProfileId, _numOfTransferredPhases, _transferredPhases]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterGetPowerProfilePriceResponseParams -- (instancetype)init -{ - if (self = [super init]) { - - _powerProfileId = @(0); - - _currency = @(0); - - _price = @(0); - - _priceTrailingDigit = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: powerProfileId:%@; currency:%@; price:%@; priceTrailingDigit:%@; >", - NSStringFromClass([self class]), _powerProfileId, _currency, _price, _priceTrailingDigit]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterPowerProfileStateResponseParams -- (instancetype)init -{ - if (self = [super init]) { - - _powerProfileCount = @(0); - - _powerProfileRecords = [NSArray array]; - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: powerProfileCount:%@; powerProfileRecords:%@; >", - NSStringFromClass([self class]), _powerProfileCount, _powerProfileRecords]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterGetOverallSchedulePriceResponseParams -- (instancetype)init -{ - if (self = [super init]) { - - _currency = @(0); - - _price = @(0); - - _priceTrailingDigit = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: currency:%@; price:%@; priceTrailingDigit:%@; >", - NSStringFromClass([self class]), _currency, _price, _priceTrailingDigit]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterGetPowerProfilePriceParams -- (instancetype)init -{ - if (self = [super init]) { - - _powerProfileId = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: powerProfileId:%@; >", NSStringFromClass([self class]), _powerProfileId]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterEnergyPhasesScheduleNotificationParams -- (instancetype)init -{ - if (self = [super init]) { - - _powerProfileId = @(0); - - _numOfScheduledPhases = @(0); - - _scheduledPhases = [NSArray array]; - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: powerProfileId:%@; numOfScheduledPhases:%@; scheduledPhases:%@; >", - NSStringFromClass([self class]), _powerProfileId, _numOfScheduledPhases, _scheduledPhases]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterPowerProfilesStateNotificationParams -- (instancetype)init -{ - if (self = [super init]) { - - _powerProfileCount = @(0); - - _powerProfileRecords = [NSArray array]; - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: powerProfileCount:%@; powerProfileRecords:%@; >", - NSStringFromClass([self class]), _powerProfileCount, _powerProfileRecords]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterEnergyPhasesScheduleResponseParams -- (instancetype)init -{ - if (self = [super init]) { - - _powerProfileId = @(0); - - _numOfScheduledPhases = @(0); - - _scheduledPhases = [NSArray array]; - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: powerProfileId:%@; numOfScheduledPhases:%@; scheduledPhases:%@; >", - NSStringFromClass([self class]), _powerProfileId, _numOfScheduledPhases, _scheduledPhases]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterGetOverallSchedulePriceParams -- (instancetype)init -{ - if (self = [super init]) { - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterPowerProfileScheduleConstraintsRequestParams -- (instancetype)init -{ - if (self = [super init]) { - - _powerProfileId = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: powerProfileId:%@; >", NSStringFromClass([self class]), _powerProfileId]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterEnergyPhasesScheduleRequestParams -- (instancetype)init -{ - if (self = [super init]) { - - _powerProfileId = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: powerProfileId:%@; >", NSStringFromClass([self class]), _powerProfileId]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterEnergyPhasesScheduleStateRequestParams -- (instancetype)init -{ - if (self = [super init]) { - - _powerProfileId = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: powerProfileId:%@; >", NSStringFromClass([self class]), _powerProfileId]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterEnergyPhasesScheduleStateResponseParams -- (instancetype)init -{ - if (self = [super init]) { - - _powerProfileId = @(0); - - _numOfScheduledPhases = @(0); - - _scheduledPhases = [NSArray array]; - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: powerProfileId:%@; numOfScheduledPhases:%@; scheduledPhases:%@; >", - NSStringFromClass([self class]), _powerProfileId, _numOfScheduledPhases, _scheduledPhases]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterGetPowerProfilePriceExtendedResponseParams -- (instancetype)init -{ - if (self = [super init]) { - - _powerProfileId = @(0); - - _currency = @(0); - - _price = @(0); - - _priceTrailingDigit = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: powerProfileId:%@; currency:%@; price:%@; priceTrailingDigit:%@; >", - NSStringFromClass([self class]), _powerProfileId, _currency, _price, _priceTrailingDigit]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterEnergyPhasesScheduleStateNotificationParams -- (instancetype)init -{ - if (self = [super init]) { - - _powerProfileId = @(0); - - _numOfScheduledPhases = @(0); - - _scheduledPhases = [NSArray array]; - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: powerProfileId:%@; numOfScheduledPhases:%@; scheduledPhases:%@; >", - NSStringFromClass([self class]), _powerProfileId, _numOfScheduledPhases, _scheduledPhases]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterPowerProfileScheduleConstraintsNotificationParams -- (instancetype)init -{ - if (self = [super init]) { - - _powerProfileId = @(0); - - _startAfter = @(0); - - _stopBefore = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: powerProfileId:%@; startAfter:%@; stopBefore:%@; >", - NSStringFromClass([self class]), _powerProfileId, _startAfter, _stopBefore]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterPowerProfileScheduleConstraintsResponseParams -- (instancetype)init -{ - if (self = [super init]) { - - _powerProfileId = @(0); - - _startAfter = @(0); - - _stopBefore = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: powerProfileId:%@; startAfter:%@; stopBefore:%@; >", - NSStringFromClass([self class]), _powerProfileId, _startAfter, _stopBefore]; - return descriptionString; -} - -@end -@implementation MTRPowerProfileClusterGetPowerProfilePriceExtendedParams -- (instancetype)init -{ - if (self = [super init]) { - - _options = @(0); - - _powerProfileId = @(0); - - _powerProfileStartTime = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: options:%@; powerProfileId:%@; powerProfileStartTime:%@; >", - NSStringFromClass([self class]), _options, _powerProfileId, _powerProfileStartTime]; - return descriptionString; -} - -@end -@implementation MTRApplianceControlClusterExecutionOfACommandParams -- (instancetype)init -{ - if (self = [super init]) { - - _commandId = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: commandId:%@; >", NSStringFromClass([self class]), _commandId]; - return descriptionString; -} - -@end -@implementation MTRApplianceControlClusterSignalStateResponseParams -- (instancetype)init -{ - if (self = [super init]) { - - _applianceStatus = @(0); - - _remoteEnableFlagsAndDeviceStatus2 = @(0); - - _applianceStatus2 = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: applianceStatus:%@; remoteEnableFlagsAndDeviceStatus2:%@; applianceStatus2:%@; >", - NSStringFromClass([self class]), _applianceStatus, _remoteEnableFlagsAndDeviceStatus2, _applianceStatus2]; - return descriptionString; -} - -@end -@implementation MTRApplianceControlClusterSignalStateParams -- (instancetype)init -{ - if (self = [super init]) { - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])]; - return descriptionString; -} - -@end -@implementation MTRApplianceControlClusterSignalStateNotificationParams -- (instancetype)init -{ - if (self = [super init]) { - - _applianceStatus = @(0); - - _remoteEnableFlagsAndDeviceStatus2 = @(0); - - _applianceStatus2 = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: applianceStatus:%@; remoteEnableFlagsAndDeviceStatus2:%@; applianceStatus2:%@; >", - NSStringFromClass([self class]), _applianceStatus, _remoteEnableFlagsAndDeviceStatus2, _applianceStatus2]; - return descriptionString; -} - -@end -@implementation MTRApplianceControlClusterWriteFunctionsParams -- (instancetype)init -{ - if (self = [super init]) { - - _functionId = @(0); - - _functionDataType = @(0); - - _functionData = [NSArray array]; - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: functionId:%@; functionDataType:%@; functionData:%@; >", - NSStringFromClass([self class]), _functionId, _functionDataType, _functionData]; - return descriptionString; -} - -@end -@implementation MTRApplianceControlClusterOverloadPauseResumeParams -- (instancetype)init -{ - if (self = [super init]) { - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])]; - return descriptionString; -} - -@end -@implementation MTRApplianceControlClusterOverloadPauseParams -- (instancetype)init -{ - if (self = [super init]) { - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])]; - return descriptionString; -} - -@end -@implementation MTRApplianceControlClusterOverloadWarningParams -- (instancetype)init -{ - if (self = [super init]) { - - _warningEvent = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: warningEvent:%@; >", NSStringFromClass([self class]), _warningEvent]; - return descriptionString; -} - -@end -@implementation MTRPollControlClusterCheckInParams -- (instancetype)init -{ - if (self = [super init]) { - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])]; - return descriptionString; -} - -@end -@implementation MTRPollControlClusterCheckInResponseParams -- (instancetype)init -{ - if (self = [super init]) { - - _startFastPolling = @(0); - - _fastPollTimeout = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: startFastPolling:%@; fastPollTimeout:%@; >", - NSStringFromClass([self class]), _startFastPolling, _fastPollTimeout]; - return descriptionString; -} - -@end -@implementation MTRPollControlClusterFastPollStopParams -- (instancetype)init -{ - if (self = [super init]) { - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])]; - return descriptionString; -} - -@end -@implementation MTRPollControlClusterSetLongPollIntervalParams -- (instancetype)init -{ - if (self = [super init]) { - - _newLongPollInterval = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: newLongPollInterval:%@; >", NSStringFromClass([self class]), _newLongPollInterval]; - return descriptionString; -} - -@end -@implementation MTRPollControlClusterSetShortPollIntervalParams -- (instancetype)init -{ - if (self = [super init]) { - - _newShortPollInterval = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: newShortPollInterval:%@; >", NSStringFromClass([self class]), _newShortPollInterval]; - return descriptionString; -} - @end @implementation MTRBridgedActionsClusterInstantActionParams - (instancetype)init @@ -5285,211 +4462,6 @@ - (NSString *)description return descriptionString; } -@end -@implementation MTRApplianceEventsAndAlertClusterGetAlertsParams -- (instancetype)init -{ - if (self = [super init]) { - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])]; - return descriptionString; -} - -@end -@implementation MTRApplianceEventsAndAlertClusterGetAlertsResponseParams -- (instancetype)init -{ - if (self = [super init]) { - - _alertsCount = @(0); - - _alertStructures = [NSArray array]; - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: alertsCount:%@; alertStructures:%@; >", - NSStringFromClass([self class]), _alertsCount, _alertStructures]; - return descriptionString; -} - -@end -@implementation MTRApplianceEventsAndAlertClusterAlertsNotificationParams -- (instancetype)init -{ - if (self = [super init]) { - - _alertsCount = @(0); - - _alertStructures = [NSArray array]; - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: alertsCount:%@; alertStructures:%@; >", - NSStringFromClass([self class]), _alertsCount, _alertStructures]; - return descriptionString; -} - -@end -@implementation MTRApplianceEventsAndAlertClusterEventsNotificationParams -- (instancetype)init -{ - if (self = [super init]) { - - _eventHeader = @(0); - - _eventId = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: eventHeader:%@; eventId:%@; >", NSStringFromClass([self class]), _eventHeader, _eventId]; - return descriptionString; -} - -@end -@implementation MTRApplianceStatisticsClusterLogNotificationParams -- (instancetype)init -{ - if (self = [super init]) { - - _timeStamp = @(0); - - _logId = @(0); - - _logLength = @(0); - - _logPayload = [NSArray array]; - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: timeStamp:%@; logId:%@; logLength:%@; logPayload:%@; >", - NSStringFromClass([self class]), _timeStamp, _logId, _logLength, _logPayload]; - return descriptionString; -} - -@end -@implementation MTRApplianceStatisticsClusterLogRequestParams -- (instancetype)init -{ - if (self = [super init]) { - - _logId = @(0); - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: logId:%@; >", NSStringFromClass([self class]), _logId]; - return descriptionString; -} - -@end -@implementation MTRApplianceStatisticsClusterLogResponseParams -- (instancetype)init -{ - if (self = [super init]) { - - _timeStamp = @(0); - - _logId = @(0); - - _logLength = @(0); - - _logPayload = [NSArray array]; - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: timeStamp:%@; logId:%@; logLength:%@; logPayload:%@; >", - NSStringFromClass([self class]), _timeStamp, _logId, _logLength, _logPayload]; - return descriptionString; -} - -@end -@implementation MTRApplianceStatisticsClusterLogQueueRequestParams -- (instancetype)init -{ - if (self = [super init]) { - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])]; - return descriptionString; -} - -@end -@implementation MTRApplianceStatisticsClusterLogQueueResponseParams -- (instancetype)init -{ - if (self = [super init]) { - - _logQueueSize = @(0); - - _logIds = [NSArray array]; - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: logQueueSize:%@; logIds:%@; >", NSStringFromClass([self class]), _logQueueSize, _logIds]; - return descriptionString; -} - -@end -@implementation MTRApplianceStatisticsClusterStatisticsAvailableParams -- (instancetype)init -{ - if (self = [super init]) { - - _logQueueSize = @(0); - - _logIds = [NSArray array]; - _timedInvokeTimeoutMs = nil; - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = - [NSString stringWithFormat:@"<%@: logQueueSize:%@; logIds:%@; >", NSStringFromClass([self class]), _logQueueSize, _logIds]; - return descriptionString; -} - @end @implementation MTRElectricalMeasurementClusterGetProfileInfoResponseCommandParams - (instancetype)init diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h index 8c1782544b28f0..a5d12d54ddb15b 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h @@ -35,33 +35,6 @@ NS_ASSUME_NONNULL_BEGIN @end -@interface MTRPowerProfileClusterPowerProfileRecord : NSObject -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileId; -@property (strong, nonatomic) NSNumber * _Nonnull energyPhaseId; -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileRemoteControl; -@property (strong, nonatomic) NSNumber * _Nonnull powerProfileState; -- (instancetype)init; - -@end - -@interface MTRPowerProfileClusterScheduledPhase : NSObject -@property (strong, nonatomic) NSNumber * _Nonnull energyPhaseId; -@property (strong, nonatomic) NSNumber * _Nonnull scheduledTime; -- (instancetype)init; - -@end - -@interface MTRPowerProfileClusterTransferredPhase : NSObject -@property (strong, nonatomic) NSNumber * _Nonnull energyPhaseId; -@property (strong, nonatomic) NSNumber * _Nonnull macroPhaseId; -@property (strong, nonatomic) NSNumber * _Nonnull expectedDuration; -@property (strong, nonatomic) NSNumber * _Nonnull peakPower; -@property (strong, nonatomic) NSNumber * _Nonnull energy; -@property (strong, nonatomic) NSNumber * _Nonnull maxActivationDelay; -- (instancetype)init; - -@end - @interface MTRDescriptorClusterDeviceType : NSObject @property (strong, nonatomic) NSNumber * _Nonnull type; @property (strong, nonatomic) NSNumber * _Nonnull revision; diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm index e5cf8c5d7d701a..ca7bfb733f967a 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm @@ -63,85 +63,6 @@ - (NSString *)description @end -@implementation MTRPowerProfileClusterPowerProfileRecord -- (instancetype)init -{ - if (self = [super init]) { - - _powerProfileId = @(0); - - _energyPhaseId = @(0); - - _powerProfileRemoteControl = @(0); - - _powerProfileState = @(0); - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString - stringWithFormat:@"<%@: powerProfileId:%@; energyPhaseId:%@; powerProfileRemoteControl:%@; powerProfileState:%@; >", - NSStringFromClass([self class]), _powerProfileId, _energyPhaseId, _powerProfileRemoteControl, _powerProfileState]; - return descriptionString; -} - -@end - -@implementation MTRPowerProfileClusterScheduledPhase -- (instancetype)init -{ - if (self = [super init]) { - - _energyPhaseId = @(0); - - _scheduledTime = @(0); - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString stringWithFormat:@"<%@: energyPhaseId:%@; scheduledTime:%@; >", - NSStringFromClass([self class]), _energyPhaseId, _scheduledTime]; - return descriptionString; -} - -@end - -@implementation MTRPowerProfileClusterTransferredPhase -- (instancetype)init -{ - if (self = [super init]) { - - _energyPhaseId = @(0); - - _macroPhaseId = @(0); - - _expectedDuration = @(0); - - _peakPower = @(0); - - _energy = @(0); - - _maxActivationDelay = @(0); - } - return self; -} - -- (NSString *)description -{ - NSString * descriptionString = [NSString - stringWithFormat: - @"<%@: energyPhaseId:%@; macroPhaseId:%@; expectedDuration:%@; peakPower:%@; energy:%@; maxActivationDelay:%@; >", - NSStringFromClass([self class]), _energyPhaseId, _macroPhaseId, _expectedDuration, _peakPower, _energy, - _maxActivationDelay]; - return descriptionString; -} - -@end - @implementation MTRDescriptorClusterDeviceType - (instancetype)init { diff --git a/zzz_generated/app-common/app-common/zap-generated/af-structs.h b/zzz_generated/app-common/app-common/zap-generated/af-structs.h index a054042c9d2fcc..cfa3a10c40693a 100644 --- a/zzz_generated/app-common/app-common/zap-generated/af-structs.h +++ b/zzz_generated/app-common/app-common/zap-generated/af-structs.h @@ -446,15 +446,6 @@ typedef struct _PlaybackPosition uint64_t position; } PlaybackPosition; -// Struct for PowerProfileRecord -typedef struct _PowerProfileRecord -{ - uint8_t powerProfileId; - uint8_t energyPhaseId; - bool powerProfileRemoteControl; - uint8_t powerProfileState; -} PowerProfileRecord; - // Struct for ProviderLocation typedef struct _ProviderLocation { @@ -495,13 +486,6 @@ typedef struct _RouteTable bool LinkEstablished; } RouteTable; -// Struct for ScheduledPhase -typedef struct _ScheduledPhase -{ - uint8_t energyPhaseId; - uint16_t scheduledTime; -} ScheduledPhase; - // Struct for SecurityPolicy typedef struct _SecurityPolicy { @@ -564,17 +548,6 @@ typedef struct _ThreadMetrics uint32_t StackSize; } ThreadMetrics; -// Struct for TransferredPhase -typedef struct _TransferredPhase -{ - uint8_t energyPhaseId; - uint8_t macroPhaseId; - uint16_t expectedDuration; - uint16_t peakPower; - uint16_t energy; - uint16_t maxActivationDelay; -} TransferredPhase; - // Struct for WiFiInterfaceScanResult typedef struct _WiFiInterfaceScanResult { diff --git a/zzz_generated/app-common/app-common/zap-generated/attribute-id.h b/zzz_generated/app-common/app-common/zap-generated/attribute-id.h index 02c83fbab5bcd1..c72b8987ea0748 100644 --- a/zzz_generated/app-common/app-common/zap-generated/attribute-id.h +++ b/zzz_generated/app-common/app-common/zap-generated/attribute-id.h @@ -29,84 +29,6 @@ #define ZCL_CLUSTER_REVISION_CLIENT_ATTRIBUTE_ID (0xFFFD) #define ZCL_CLUSTER_REVISION_SERVER_ATTRIBUTE_ID (0xFFFD) -// Attribute ids for cluster: Power Configuration - -// Client attributes - -// Server attributes -#define ZCL_MAINS_VOLTAGE_ATTRIBUTE_ID (0x0000) -#define ZCL_MAINS_FREQUENCY_ATTRIBUTE_ID (0x0001) -#define ZCL_MAINS_ALARM_MASK_ATTRIBUTE_ID (0x0010) -#define ZCL_MAINS_VOLTAGE_MIN_THRESHOLD_ATTRIBUTE_ID (0x0011) -#define ZCL_MAINS_VOLTAGE_MAX_THRESHOLD_ATTRIBUTE_ID (0x0012) -#define ZCL_MAINS_VOLTAGE_DWELL_TRIP_POINT_ATTRIBUTE_ID (0x0013) -#define ZCL_BATTERY_VOLTAGE_ATTRIBUTE_ID (0x0020) -#define ZCL_BATTERY_PERCENTAGE_REMAINING_ATTRIBUTE_ID (0x0021) -#define ZCL_BATTERY_MANUFACTURER_ATTRIBUTE_ID (0x0030) -#define ZCL_BATTERY_SIZE_ATTRIBUTE_ID (0x0031) -#define ZCL_BATTERY_AHR_RATING_ATTRIBUTE_ID (0x0032) -#define ZCL_BATTERY_QUANTITY_ATTRIBUTE_ID (0x0033) -#define ZCL_BATTERY_RATED_VOLTAGE_ATTRIBUTE_ID (0x0034) -#define ZCL_BATTERY_ALARM_MASK_ATTRIBUTE_ID (0x0035) -#define ZCL_BATTERY_VOLTAGE_MIN_THRESHOLD_ATTRIBUTE_ID (0x0036) -#define ZCL_BATTERY_VOLTAGE_THRESHOLD_1_ATTRIBUTE_ID (0x0037) -#define ZCL_BATTERY_VOLTAGE_THRESHOLD_2_ATTRIBUTE_ID (0x0038) -#define ZCL_BATTERY_VOLTAGE_THRESHOLD_3_ATTRIBUTE_ID (0x0039) -#define ZCL_BATTERY_PERCENTAGE_MIN_THRESHOLD_ATTRIBUTE_ID (0x003A) -#define ZCL_BATTERY_PERCENTAGE_THRESHOLD_1_ATTRIBUTE_ID (0x003B) -#define ZCL_BATTERY_PERCENTAGE_THRESHOLD_2_ATTRIBUTE_ID (0x003C) -#define ZCL_BATTERY_PERCENTAGE_THRESHOLD_3_ATTRIBUTE_ID (0x003D) -#define ZCL_BATTERY_ALARM_STATE_ATTRIBUTE_ID (0x003E) -#define ZCL_BATTERY_2_VOLTAGE_ATTRIBUTE_ID (0x0040) -#define ZCL_BATTERY_2_PERCENTAGE_REMAINING_ATTRIBUTE_ID (0x0041) -#define ZCL_BATTERY_2_MANUFACTURER_ATTRIBUTE_ID (0x0050) -#define ZCL_BATTERY_2_SIZE_ATTRIBUTE_ID (0x0051) -#define ZCL_BATTERY_2_AHR_RATING_ATTRIBUTE_ID (0x0052) -#define ZCL_BATTERY_2_QUANTITY_ATTRIBUTE_ID (0x0053) -#define ZCL_BATTERY_2_RATED_VOLTAGE_ATTRIBUTE_ID (0x0054) -#define ZCL_BATTERY_2_ALARM_MASK_ATTRIBUTE_ID (0x0055) -#define ZCL_BATTERY_2_VOLTAGE_MIN_THRESHOLD_ATTRIBUTE_ID (0x0056) -#define ZCL_BATTERY_2_VOLTAGE_THRESHOLD_1_ATTRIBUTE_ID (0x0057) -#define ZCL_BATTERY_2_VOLTAGE_THRESHOLD_2_ATTRIBUTE_ID (0x0058) -#define ZCL_BATTERY_2_VOLTAGE_THRESHOLD_3_ATTRIBUTE_ID (0x0059) -#define ZCL_BATTERY_2_PERCENTAGE_MIN_THRESHOLD_ATTRIBUTE_ID (0x005A) -#define ZCL_BATTERY_2_PERCENTAGE_THRESHOLD_1_ATTRIBUTE_ID (0x005B) -#define ZCL_BATTERY_2_PERCENTAGE_THRESHOLD_2_ATTRIBUTE_ID (0x005C) -#define ZCL_BATTERY_2_PERCENTAGE_THRESHOLD_3_ATTRIBUTE_ID (0x005D) -#define ZCL_BATTERY_2_ALARM_STATE_ATTRIBUTE_ID (0x005E) -#define ZCL_BATTERY_3_VOLTAGE_ATTRIBUTE_ID (0x0060) -#define ZCL_BATTERY_3_PERCENTAGE_REMAINING_ATTRIBUTE_ID (0x0061) -#define ZCL_BATTERY_3_MANUFACTURER_ATTRIBUTE_ID (0x0070) -#define ZCL_BATTERY_3_SIZE_ATTRIBUTE_ID (0x0071) -#define ZCL_BATTERY_3_AHR_RATING_ATTRIBUTE_ID (0x0072) -#define ZCL_BATTERY_3_QUANTITY_ATTRIBUTE_ID (0x0073) -#define ZCL_BATTERY_3_RATED_VOLTAGE_ATTRIBUTE_ID (0x0074) -#define ZCL_BATTERY_3_ALARM_MASK_ATTRIBUTE_ID (0x0075) -#define ZCL_BATTERY_3_VOLTAGE_MIN_THRESHOLD_ATTRIBUTE_ID (0x0076) -#define ZCL_BATTERY_3_VOLTAGE_THRESHOLD_1_ATTRIBUTE_ID (0x0077) -#define ZCL_BATTERY_3_VOLTAGE_THRESHOLD_2_ATTRIBUTE_ID (0x0078) -#define ZCL_BATTERY_3_VOLTAGE_THRESHOLD_3_ATTRIBUTE_ID (0x0079) -#define ZCL_BATTERY_3_PERCENTAGE_MIN_THRESHOLD_ATTRIBUTE_ID (0x007A) -#define ZCL_BATTERY_3_PERCENTAGE_THRESHOLD_1_ATTRIBUTE_ID (0x007B) -#define ZCL_BATTERY_3_PERCENTAGE_THRESHOLD_2_ATTRIBUTE_ID (0x007C) -#define ZCL_BATTERY_3_PERCENTAGE_THRESHOLD_3_ATTRIBUTE_ID (0x007D) -#define ZCL_BATTERY_3_ALARM_STATE_ATTRIBUTE_ID (0x007E) - -// Attribute ids for cluster: Device Temperature Configuration - -// Client attributes - -// Server attributes -#define ZCL_CURRENT_TEMPERATURE_ATTRIBUTE_ID (0x0000) -#define ZCL_MIN_TEMP_EXPERIENCED_ATTRIBUTE_ID (0x0001) -#define ZCL_MAX_TEMP_EXPERIENCED_ATTRIBUTE_ID (0x0002) -#define ZCL_OVER_TEMP_TOTAL_DWELL_ATTRIBUTE_ID (0x0003) -#define ZCL_DEVICE_TEMP_ALARM_MASK_ATTRIBUTE_ID (0x0010) -#define ZCL_LOW_TEMP_THRESHOLD_ATTRIBUTE_ID (0x0011) -#define ZCL_HIGH_TEMP_THRESHOLD_ATTRIBUTE_ID (0x0012) -#define ZCL_LOW_TEMP_DWELL_TRIP_POINT_ATTRIBUTE_ID (0x0013) -#define ZCL_HIGH_TEMP_DWELL_TRIP_POINT_ATTRIBUTE_ID (0x0014) - // Attribute ids for cluster: Identify // Client attributes @@ -173,29 +95,6 @@ #define ZCL_DEFAULT_MOVE_RATE_ATTRIBUTE_ID (0x0014) #define ZCL_START_UP_CURRENT_LEVEL_ATTRIBUTE_ID (0x4000) -// Attribute ids for cluster: Alarms - -// Client attributes - -// Server attributes -#define ZCL_ALARM_COUNT_ATTRIBUTE_ID (0x0000) - -// Attribute ids for cluster: Time - -// Client attributes - -// Server attributes -#define ZCL_TIME_ATTRIBUTE_ID (0x0000) -#define ZCL_TIME_STATUS_ATTRIBUTE_ID (0x0001) -#define ZCL_TIME_ZONE_ATTRIBUTE_ID (0x0002) -#define ZCL_DST_START_ATTRIBUTE_ID (0x0003) -#define ZCL_DST_END_ATTRIBUTE_ID (0x0004) -#define ZCL_DST_SHIFT_ATTRIBUTE_ID (0x0005) -#define ZCL_STANDARD_TIME_ATTRIBUTE_ID (0x0006) -#define ZCL_LOCAL_TIME_ATTRIBUTE_ID (0x0007) -#define ZCL_LAST_SET_TIME_ATTRIBUTE_ID (0x0008) -#define ZCL_VALID_UNTIL_TIME_ATTRIBUTE_ID (0x0009) - // Attribute ids for cluster: Binary Input (Basic) // Client attributes @@ -211,26 +110,6 @@ #define ZCL_STATUS_FLAGS_ATTRIBUTE_ID (0x006F) #define ZCL_APPLICATION_TYPE_ATTRIBUTE_ID (0x0100) -// Attribute ids for cluster: Power Profile - -// Client attributes - -// Server attributes -#define ZCL_TOTAL_PROFILE_NUM_ATTRIBUTE_ID (0x0000) -#define ZCL_MULTIPLE_SCHEDULING_ATTRIBUTE_ID (0x0001) -#define ZCL_ENERGY_FORMATTING_ATTRIBUTE_ID (0x0002) -#define ZCL_ENERGY_REMOTE_ATTRIBUTE_ID (0x0003) -#define ZCL_SCHEDULE_MODE_ATTRIBUTE_ID (0x0004) - -// Attribute ids for cluster: Appliance Control - -// Client attributes - -// Server attributes -#define ZCL_START_TIME_ATTRIBUTE_ID (0x0000) -#define ZCL_FINISH_TIME_ATTRIBUTE_ID (0x0001) -#define ZCL_REMAINING_TIME_ATTRIBUTE_ID (0x0002) - // Attribute ids for cluster: Pulse Width Modulation // Client attributes @@ -265,19 +144,6 @@ #define ZCL_TARGETS_PER_ACCESS_CONTROL_ENTRY_ATTRIBUTE_ID (0x0003) #define ZCL_ACCESS_CONTROL_ENTRIES_PER_FABRIC_ATTRIBUTE_ID (0x0004) -// Attribute ids for cluster: Poll Control - -// Client attributes - -// Server attributes -#define ZCL_CHECK_IN_INTERVAL_ATTRIBUTE_ID (0x0000) -#define ZCL_LONG_POLL_INTERVAL_ATTRIBUTE_ID (0x0001) -#define ZCL_SHORT_POLL_INTERVAL_ATTRIBUTE_ID (0x0002) -#define ZCL_FAST_POLL_TIMEOUT_ATTRIBUTE_ID (0x0003) -#define ZCL_CHECK_IN_INTERVAL_MIN_ATTRIBUTE_ID (0x0004) -#define ZCL_LONG_POLL_INTERVAL_MIN_ATTRIBUTE_ID (0x0005) -#define ZCL_FAST_POLL_TIMEOUT_MAX_ATTRIBUTE_ID (0x0006) - // Attribute ids for cluster: Bridged Actions // Client attributes @@ -674,17 +540,6 @@ #define ZCL_START_UP_MODE_ATTRIBUTE_ID (0x0004) #define ZCL_ON_MODE_ATTRIBUTE_ID (0x0005) -// Attribute ids for cluster: Shade Configuration - -// Client attributes - -// Server attributes -#define ZCL_SHADE_CONFIG_PHYSICAL_CLOSED_LIMIT_ATTRIBUTE_ID (0x0000) -#define ZCL_SHADE_CONFIG_MOTOR_STEP_SIZE_ATTRIBUTE_ID (0x0001) -#define ZCL_SHADE_CONFIG_STATUS_ATTRIBUTE_ID (0x0002) -#define ZCL_SHADE_CONFIG_CLOSED_LIMIT_ATTRIBUTE_ID (0x0010) -#define ZCL_SHADE_CONFIG_MODE_ATTRIBUTE_ID (0x0011) - // Attribute ids for cluster: Door Lock // Client attributes @@ -872,20 +727,6 @@ #define ZCL_WIND_SUPPORT_ATTRIBUTE_ID (0x0009) #define ZCL_WIND_SETTING_ATTRIBUTE_ID (0x000A) -// Attribute ids for cluster: Dehumidification Control - -// Client attributes - -// Server attributes -#define ZCL_RELATIVE_HUMIDITY_ATTRIBUTE_ID (0x0000) -#define ZCL_DEHUMIDIFICATION_COOLING_ATTRIBUTE_ID (0x0001) -#define ZCL_RH_DEHUMIDIFICATION_SETPOINT_ATTRIBUTE_ID (0x0010) -#define ZCL_RELATIVE_HUMIDITY_MODE_ATTRIBUTE_ID (0x0011) -#define ZCL_DEHUMIDIFICATION_LOCKOUT_ATTRIBUTE_ID (0x0012) -#define ZCL_DEHUMIDIFICATION_HYSTERESIS_ATTRIBUTE_ID (0x0013) -#define ZCL_DEHUMIDIFICATION_MAX_COOL_ATTRIBUTE_ID (0x0014) -#define ZCL_RELATIVE_HUMIDITY_DISPLAY_ATTRIBUTE_ID (0x0015) - // Attribute ids for cluster: Thermostat User Interface Configuration // Client attributes @@ -1047,306 +888,6 @@ #define ZCL_PHYSICAL_CONTACT_UNOCCUPIED_TO_OCCUPIED_DELAY_ATTRIBUTE_ID (0x0031) #define ZCL_PHYSICAL_CONTACT_UNOCCUPIED_TO_OCCUPIED_THRESHOLD_ATTRIBUTE_ID (0x0032) -// Attribute ids for cluster: Carbon Monoxide Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Carbon Dioxide Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Ethylene Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_ETHYLENE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_ETHYLENE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_ETHYLENE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_ETHYLENE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Ethylene Oxide Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Hydrogen Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_HYDROGEN_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_HYDROGEN_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_HYDROGEN_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_HYDROGEN_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Hydrogen Sulphide Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Nitric Oxide Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Nitrogen Dioxide Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Oxygen Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_OXYGEN_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_OXYGEN_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_OXYGEN_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_OXYGEN_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Ozone Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_OZONE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_OZONE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_OZONE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_OZONE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Sulfur Dioxide Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Dissolved Oxygen Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Bromate Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_BROMATE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_BROMATE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_BROMATE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_BROMATE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Chloramines Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_CHLORAMINES_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_CHLORAMINES_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_CHLORAMINES_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_CHLORAMINES_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Chlorine Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_CHLORINE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_CHLORINE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_CHLORINE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_CHLORINE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Fecal coliform and E. Coli Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Fluoride Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_FLUORIDE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_FLUORIDE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_FLUORIDE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_FLUORIDE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Haloacetic Acids Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Total Trihalomethanes Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Total Coliform Bacteria Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Turbidity Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_TURBIDITY_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_TURBIDITY_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_TURBIDITY_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_TURBIDITY_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Copper Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_COPPER_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_COPPER_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_COPPER_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_COPPER_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Lead Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_LEAD_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_LEAD_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_LEAD_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_LEAD_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Manganese Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_MANGANESE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_MANGANESE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_MANGANESE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_MANGANESE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Sulfate Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_SULFATE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_SULFATE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_SULFATE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_SULFATE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Bromodichloromethane Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Bromoform Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_BROMOFORM_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_BROMOFORM_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_BROMOFORM_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_BROMOFORM_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Chlorodibromomethane Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Chloroform Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_CHLOROFORM_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_CHLOROFORM_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_CHLOROFORM_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_CHLOROFORM_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - -// Attribute ids for cluster: Sodium Concentration Measurement - -// Client attributes - -// Server attributes -#define ZCL_SODIUM_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000) -#define ZCL_SODIUM_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) -#define ZCL_SODIUM_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) -#define ZCL_SODIUM_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003) - // Attribute ids for cluster: Wake on LAN // Client attributes @@ -1448,56 +989,6 @@ // Server attributes -// Attribute ids for cluster: Appliance Identification - -// Client attributes - -// Server attributes -#define ZCL_BASIC_IDENTIFICATION_ATTRIBUTE_ID (0x0000) -#define ZCL_APPLIANCE_COMPANY_NAME_ATTRIBUTE_ID (0x0010) -#define ZCL_COMPANY_ID_ATTRIBUTE_ID (0x0011) -#define ZCL_BRAND_NAME_ATTRIBUTE_ID (0x0012) -#define ZCL_BRAND_ID_ATTRIBUTE_ID (0x0013) -#define ZCL_APPLIANCE_MODEL_ATTRIBUTE_ID (0x0014) -#define ZCL_APPLIANCE_PART_NUMBER_ATTRIBUTE_ID (0x0015) -#define ZCL_APPLIANCE_PRODUCT_REVISION_ATTRIBUTE_ID (0x0016) -#define ZCL_APPLIANCE_SOFTWARE_REVISION_ATTRIBUTE_ID (0x0017) -#define ZCL_PRODUCT_TYPE_NAME_ATTRIBUTE_ID (0x0018) -#define ZCL_PRODUCT_TYPE_ID_ATTRIBUTE_ID (0x0019) -#define ZCL_CECED_SPECIFICATION_VERSION_ATTRIBUTE_ID (0x001A) - -// Attribute ids for cluster: Meter Identification - -// Client attributes - -// Server attributes -#define ZCL_METER_COMPANY_NAME_ATTRIBUTE_ID (0x0000) -#define ZCL_METER_TYPE_ID_ATTRIBUTE_ID (0x0001) -#define ZCL_DATA_QUALITY_ID_ATTRIBUTE_ID (0x0004) -#define ZCL_CUSTOMER_NAME_ATTRIBUTE_ID (0x0005) -#define ZCL_METER_MODEL_ATTRIBUTE_ID (0x0006) -#define ZCL_METER_PART_NUMBER_ATTRIBUTE_ID (0x0007) -#define ZCL_METER_PRODUCT_REVISION_ATTRIBUTE_ID (0x0008) -#define ZCL_METER_SOFTWARE_REVISION_ATTRIBUTE_ID (0x000A) -#define ZCL_UTILITY_NAME_ATTRIBUTE_ID (0x000B) -#define ZCL_POD_ATTRIBUTE_ID (0x000C) -#define ZCL_AVAILABLE_POWER_ATTRIBUTE_ID (0x000D) -#define ZCL_POWER_THRESHOLD_ATTRIBUTE_ID (0x000E) - -// Attribute ids for cluster: Appliance Events and Alert - -// Client attributes - -// Server attributes - -// Attribute ids for cluster: Appliance Statistics - -// Client attributes - -// Server attributes -#define ZCL_LOG_MAX_SIZE_ATTRIBUTE_ID (0x0000) -#define ZCL_LOG_QUEUE_MAX_SIZE_ATTRIBUTE_ID (0x0001) - // Attribute ids for cluster: Electrical Measurement // Client attributes diff --git a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp index 1d1e86768a01b9..ef79df312b8fc1 100644 --- a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp +++ b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp @@ -35,17 +35,17 @@ namespace chip { namespace app { namespace Clusters { -namespace PowerConfiguration { +namespace Identify { namespace Attributes { -namespace MainsVoltage { +namespace IdentifyTime { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Identify::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -64,19 +64,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Identify::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MainsVoltage +} // namespace IdentifyTime -namespace MainsFrequency { +namespace IdentifyType { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Identify::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -95,19 +95,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Identify::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MainsFrequency +} // namespace IdentifyType -namespace MainsAlarmMask { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Identify::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -116,9 +116,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -126,19 +126,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Identify::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace MainsAlarmMask +} // namespace FeatureMap -namespace MainsVoltageMinThreshold { +namespace ClusterRevision { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Identify::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -157,19 +157,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Identify::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MainsVoltageMinThreshold +} // namespace ClusterRevision -namespace MainsVoltageMaxThreshold { +} // namespace Attributes +} // namespace Identify -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +namespace Groups { +namespace Attributes { + +namespace NameSupport { + +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Groups::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -178,9 +184,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -188,19 +194,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Groups::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace MainsVoltageMaxThreshold +} // namespace NameSupport -namespace MainsVoltageDwellTrip { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Groups::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -209,9 +215,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -219,19 +225,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Groups::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace MainsVoltageDwellTrip +} // namespace FeatureMap -namespace BatteryVoltage { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Groups::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -240,9 +246,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -250,19 +256,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Groups::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace BatteryVoltage +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace Groups + +namespace Scenes { +namespace Attributes { -namespace BatteryPercentageRemaining { +namespace SceneCount { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -281,49 +293,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace BatteryPercentageRemaining - -namespace BatteryManufacturer { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[16 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace BatteryManufacturer +} // namespace SceneCount -namespace BatterySize { +namespace CurrentScene { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -342,19 +324,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace BatterySize +} // namespace CurrentScene -namespace BatteryAhrRating { +namespace CurrentGroup { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::GroupId * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -363,9 +345,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::GroupId value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -373,19 +355,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_GROUP_ID_ATTRIBUTE_TYPE); } -} // namespace BatteryAhrRating +} // namespace CurrentGroup -namespace BatteryQuantity { +namespace SceneValid { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -394,9 +376,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -404,19 +386,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace BatteryQuantity +} // namespace SceneValid -namespace BatteryRatedVoltage { +namespace NameSupport { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -435,50 +417,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace BatteryRatedVoltage +} // namespace NameSupport -namespace BatteryAlarmMask { +namespace LastConfiguredBy { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::NodeId value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_NODE_ID_ATTRIBUTE_TYPE); +} + +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_NODE_ID_ATTRIBUTE_TYPE); } -} // namespace BatteryAlarmMask +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -namespace BatteryVoltageMinThreshold { + return Set(endpoint, value.Value()); +} -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +} // namespace LastConfiguredBy + +namespace FeatureMap { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -487,9 +491,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -497,19 +501,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace BatteryVoltageMinThreshold +} // namespace FeatureMap -namespace BatteryVoltageThreshold1 { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -518,9 +522,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -528,19 +532,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace BatteryVoltageThreshold1 +} // namespace ClusterRevision -namespace BatteryVoltageThreshold2 { +} // namespace Attributes +} // namespace Scenes -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +namespace OnOff { +namespace Attributes { + +namespace OnOff { + +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -549,9 +559,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -559,19 +569,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace BatteryVoltageThreshold2 +} // namespace OnOff -namespace BatteryVoltageThreshold3 { +namespace GlobalSceneControl { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -580,9 +590,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -590,19 +600,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace BatteryVoltageThreshold3 +} // namespace GlobalSceneControl -namespace BatteryPercentageMinThreshold { +namespace OnTime { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -611,9 +621,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -621,19 +631,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace BatteryPercentageMinThreshold +} // namespace OnTime -namespace BatteryPercentageThreshold1 { +namespace OffWaitTime { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -642,9 +652,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -652,50 +662,73 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace BatteryPercentageThreshold1 +} // namespace OffWaitTime -namespace BatteryPercentageThreshold2 { +namespace StartUpOnOff { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::OnOff::OnOffStartUpOnOff value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); +} + +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, + const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); } -} // namespace BatteryPercentageThreshold2 +} // namespace StartUpOnOff -namespace BatteryPercentageThreshold3 { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -704,9 +737,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -714,19 +747,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace BatteryPercentageThreshold3 +} // namespace FeatureMap -namespace BatteryAlarmState { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -735,9 +768,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -745,19 +778,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace BatteryAlarmState +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace OnOff + +namespace OnOffSwitchConfiguration { +namespace Attributes { -namespace Battery2Voltage { +namespace SwitchType { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -776,19 +815,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace Battery2Voltage +} // namespace SwitchType -namespace Battery2PercentageRemaining { +namespace SwitchActions { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -807,49 +846,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace Battery2PercentageRemaining - -namespace Battery2Manufacturer { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[16 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace Battery2Manufacturer +} // namespace SwitchActions -namespace Battery2Size { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -858,9 +867,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -868,19 +877,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace Battery2Size +} // namespace FeatureMap -namespace Battery2AhrRating { +namespace ClusterRevision { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -899,19 +908,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Battery2AhrRating +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace OnOffSwitchConfiguration + +namespace LevelControl { +namespace Attributes { -namespace Battery2Quantity { +namespace CurrentLevel { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -930,19 +945,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Battery2Quantity +} // namespace CurrentLevel -namespace Battery2RatedVoltage { +namespace RemainingTime { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -951,9 +966,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -961,19 +976,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Battery2RatedVoltage +} // namespace RemainingTime -namespace Battery2AlarmMask { +namespace MinLevel { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -992,19 +1007,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Battery2AlarmMask +} // namespace MinLevel -namespace Battery2VoltageMinThreshold { +namespace MaxLevel { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1023,19 +1038,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Battery2VoltageMinThreshold +} // namespace MaxLevel -namespace Battery2VoltageThreshold1 { +namespace CurrentFrequency { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1044,9 +1059,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -1054,19 +1069,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Battery2VoltageThreshold1 +} // namespace CurrentFrequency -namespace Battery2VoltageThreshold2 { +namespace MinFrequency { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1075,9 +1090,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -1085,19 +1100,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Battery2VoltageThreshold2 +} // namespace MinFrequency -namespace Battery2VoltageThreshold3 { +namespace MaxFrequency { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1106,9 +1121,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -1116,19 +1131,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Battery2VoltageThreshold3 +} // namespace MaxFrequency -namespace Battery2PercentageMinThreshold { +namespace Options { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1147,19 +1162,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace Battery2PercentageMinThreshold +} // namespace Options -namespace Battery2PercentageThreshold1 { +namespace OnOffTransitionTime { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1168,9 +1183,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -1178,328 +1193,284 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Battery2PercentageThreshold1 +} // namespace OnOffTransitionTime -namespace Battery2PercentageThreshold2 { +namespace OnLevel { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Battery2PercentageThreshold2 - -namespace Battery2PercentageThreshold3 { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace Battery2PercentageThreshold3 +} // namespace OnLevel -namespace Battery2AlarmState { +namespace OnTransitionTime { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Battery2AlarmState - -namespace Battery3Voltage { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace Battery3Voltage +} // namespace OnTransitionTime -namespace Battery3PercentageRemaining { +namespace OffTransitionTime { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Battery3PercentageRemaining - -namespace Battery3Manufacturer { +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); +} -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - uint8_t zclString[16 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + return Set(endpoint, value.Value()); } -} // namespace Battery3Manufacturer +} // namespace OffTransitionTime -namespace Battery3Size { +namespace DefaultMoveRate { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Battery3Size - -namespace Battery3AhrRating { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace Battery3AhrRating +} // namespace DefaultMoveRate -namespace Battery3Quantity { +namespace StartUpCurrentLevel { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Battery3Quantity - -namespace Battery3RatedVoltage { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace Battery3RatedVoltage +} // namespace StartUpCurrentLevel -namespace Battery3AlarmMask { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1508,9 +1479,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -1518,19 +1489,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace Battery3AlarmMask +} // namespace FeatureMap -namespace Battery3VoltageMinThreshold { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1539,9 +1510,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -1549,81 +1520,115 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Battery3VoltageMinThreshold +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace LevelControl + +namespace BinaryInputBasic { +namespace Attributes { -namespace Battery3VoltageThreshold1 { +namespace ActiveText { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t zclString[16 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - *value = Traits::StorageToWorking(temp); + + VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 16); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[16 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace Battery3VoltageThreshold1 +} // namespace ActiveText -namespace Battery3VoltageThreshold2 { +namespace Description { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t zclString[16 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - *value = Traits::StorageToWorking(temp); + + VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 16); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[16 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); +} + +} // namespace Description + +namespace InactiveText { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +{ + uint8_t zclString[16 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + + VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 16); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[16 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace Battery3VoltageThreshold2 +} // namespace InactiveText -namespace Battery3VoltageThreshold3 { +namespace OutOfService { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1632,9 +1637,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -1642,19 +1647,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace Battery3VoltageThreshold3 +} // namespace OutOfService -namespace Battery3PercentageMinThreshold { +namespace Polarity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1673,19 +1678,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace Battery3PercentageMinThreshold +} // namespace Polarity -namespace Battery3PercentageThreshold1 { +namespace PresentValue { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1694,9 +1699,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -1704,19 +1709,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace Battery3PercentageThreshold1 +} // namespace PresentValue -namespace Battery3PercentageThreshold2 { +namespace Reliability { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1735,19 +1740,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace Battery3PercentageThreshold2 +} // namespace Reliability -namespace Battery3PercentageThreshold3 { +namespace StatusFlags { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1766,19 +1771,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace Battery3PercentageThreshold3 +} // namespace StatusFlags -namespace Battery3AlarmState { +namespace ApplicationType { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1797,10 +1802,10 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace Battery3AlarmState +} // namespace ApplicationType namespace FeatureMap { @@ -1809,7 +1814,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1828,7 +1833,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -1840,7 +1845,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1859,26 +1864,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace PowerConfiguration +} // namespace BinaryInputBasic -namespace DeviceTemperatureConfiguration { +namespace PulseWidthModulation { namespace Attributes { -namespace CurrentTemperature { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PulseWidthModulation::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1887,9 +1891,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -1897,21 +1901,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PulseWidthModulation::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace CurrentTemperature +} // namespace FeatureMap -namespace MinTempExperienced { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PulseWidthModulation::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1920,9 +1922,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -1930,21 +1932,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PulseWidthModulation::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MinTempExperienced +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace PulseWidthModulation + +namespace Descriptor { +namespace Attributes { -namespace MaxTempExperienced { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Descriptor::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1953,9 +1959,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -1963,21 +1969,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Descriptor::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace MaxTempExperienced +} // namespace FeatureMap -namespace OverTempTotalDwell { +namespace ClusterRevision { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Descriptor::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -1996,21 +2000,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Descriptor::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace OverTempTotalDwell +} // namespace ClusterRevision -namespace DeviceTempAlarmMask { +} // namespace Attributes +} // namespace Descriptor -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +namespace Binding { +namespace Attributes { + +namespace FeatureMap { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Binding::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -2019,9 +2027,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -2029,21 +2037,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, writable, - ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Binding::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace DeviceTempAlarmMask +} // namespace FeatureMap -namespace LowTempThreshold { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Binding::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -2052,9 +2058,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -2062,21 +2068,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Binding::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace LowTempThreshold +} // namespace ClusterRevision -namespace HighTempThreshold { +} // namespace Attributes +} // namespace Binding -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) +namespace AccessControl { +namespace Attributes { + +namespace SubjectsPerAccessControlEntry { + +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AccessControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -2085,9 +2095,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -2095,21 +2105,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::AccessControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace HighTempThreshold +} // namespace SubjectsPerAccessControlEntry -namespace LowTempDwellTripPoint { +namespace TargetsPerAccessControlEntry { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AccessControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -2118,9 +2126,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -2128,21 +2136,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, writable, - ZCL_INT24U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::AccessControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace LowTempDwellTripPoint +} // namespace TargetsPerAccessControlEntry -namespace HighTempDwellTripPoint { +namespace AccessControlEntriesPerFabric { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AccessControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -2151,9 +2157,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -2161,11 +2167,10 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, writable, - ZCL_INT24U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::AccessControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace HighTempDwellTripPoint +} // namespace AccessControlEntriesPerFabric namespace FeatureMap { @@ -2173,9 +2178,8 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AccessControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -2194,8 +2198,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::AccessControl::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -2206,9 +2209,8 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AccessControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -2227,79 +2229,46 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::AccessControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace DeviceTemperatureConfiguration +} // namespace AccessControl -namespace Identify { +namespace BridgedActions { namespace Attributes { -namespace IdentifyTime { +namespace SetupUrl { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Identify::Id, Id, readable, sizeof(temp)); + uint8_t zclString[512 + 2]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedActions::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + size_t length = emberAfLongStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Identify::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace IdentifyTime -namespace IdentifyType { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Identify::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); + VerifyOrReturnError(value.size() == 512, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[2], 512); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Identify::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + static_assert(512 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 512, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[512 + 2]; + emberAfCopyInt16u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[2], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedActions::Id, Id, zclString, ZCL_LONG_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace IdentifyType +} // namespace SetupUrl namespace FeatureMap { @@ -2308,7 +2277,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Identify::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedActions::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -2327,7 +2296,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Identify::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedActions::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -2339,7 +2308,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Identify::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedActions::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -2358,25 +2327,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Identify::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedActions::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace Identify +} // namespace BridgedActions -namespace Groups { +namespace Basic { namespace Attributes { -namespace NameSupport { +namespace DataModelRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Groups::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -2385,9 +2354,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -2395,50 +2364,49 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Groups::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace NameSupport +} // namespace DataModelRevision -namespace FeatureMap { +namespace VendorName { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Groups::Id, Id, readable, sizeof(temp)); + uint8_t zclString[32 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - *value = Traits::StorageToWorking(temp); + + VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 32); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Groups::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[32 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace VendorName -namespace ClusterRevision { +namespace VendorID { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::VendorId * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Groups::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -2447,9 +2415,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::VendorId value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -2457,56 +2425,49 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Groups::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_VENDOR_ID_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace Groups - -namespace Scenes { -namespace Attributes { +} // namespace VendorID -namespace SceneCount { +namespace ProductName { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, readable, sizeof(temp)); + uint8_t zclString[32 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - *value = Traits::StorageToWorking(temp); + + VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 32); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[32 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace SceneCount +} // namespace ProductName -namespace CurrentScene { +namespace ProductID { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -2515,9 +2476,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -2525,81 +2486,79 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace CurrentScene +} // namespace ProductID -namespace CurrentGroup { +namespace NodeLabel { -EmberAfStatus Get(chip::EndpointId endpoint, chip::GroupId * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, readable, sizeof(temp)); + uint8_t zclString[32 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - *value = Traits::StorageToWorking(temp); + + VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 32); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::GroupId value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_GROUP_ID_ATTRIBUTE_TYPE); + static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[32 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace CurrentGroup +} // namespace NodeLabel -namespace SceneValid { +namespace Location { -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, readable, sizeof(temp)); + uint8_t zclString[2 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - *value = Traits::StorageToWorking(temp); + + VerifyOrReturnError(value.size() == 2, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 2); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, bool value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); + static_assert(2 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 2, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[2 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace SceneValid +} // namespace Location -namespace NameSupport { +namespace HardwareVersion { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -2608,9 +2567,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -2618,72 +2577,49 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace NameSupport +} // namespace HardwareVersion -namespace LastConfiguredBy { +namespace HardwareVersionString { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, readable, sizeof(temp)); + uint8_t zclString[64 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::NodeId value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_NODE_ID_ATTRIBUTE_TYPE); -} -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_NODE_ID_ATTRIBUTE_TYPE); + VerifyOrReturnError(value.size() == 64, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 64); + value.reduce_size(length); + return status; } - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + static_assert(64 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 64, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[64 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace LastConfiguredBy +} // namespace HardwareVersionString -namespace FeatureMap { +namespace SoftwareVersion { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -2702,149 +2638,199 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace SoftwareVersion -namespace ClusterRevision { +namespace SoftwareVersionString { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, readable, sizeof(temp)); + uint8_t zclString[64 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - *value = Traits::StorageToWorking(temp); + + VerifyOrReturnError(value.size() == 64, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 64); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + static_assert(64 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 64, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[64 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace Scenes - -namespace OnOff { -namespace Attributes { +} // namespace SoftwareVersionString -namespace OnOff { +namespace ManufacturingDate { -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, readable, sizeof(temp)); + uint8_t zclString[16 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - *value = Traits::StorageToWorking(temp); + + VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 16); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, bool value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); + static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[16 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace OnOff +} // namespace ManufacturingDate -namespace GlobalSceneControl { +namespace PartNumber { -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, readable, sizeof(temp)); + uint8_t zclString[32 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - *value = Traits::StorageToWorking(temp); + + VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 32); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, bool value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); + static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[32 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace GlobalSceneControl +} // namespace PartNumber -namespace OnTime { +namespace ProductURL { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, readable, sizeof(temp)); + uint8_t zclString[256 + 2]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfLongStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - *value = Traits::StorageToWorking(temp); + + VerifyOrReturnError(value.size() == 256, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[2], 256); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + static_assert(256 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 256, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[256 + 2]; + emberAfCopyInt16u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[2], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_LONG_CHAR_STRING_ATTRIBUTE_TYPE); +} + +} // namespace ProductURL + +namespace ProductLabel { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +{ + uint8_t zclString[64 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + + VerifyOrReturnError(value.size() == 64, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 64); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(64 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 64, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[64 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace OnTime +} // namespace ProductLabel -namespace OffWaitTime { +namespace SerialNumber { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; + uint8_t zclString[32 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + + VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 32); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[32 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); +} + +} // namespace SerialNumber + +namespace LocalConfigDisabled { + +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) +{ + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -2853,9 +2839,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -2863,64 +2849,71 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace OffWaitTime +} // namespace LocalConfigDisabled -namespace StartUpOnOff { +namespace Reachable { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::OnOff::OnOffStartUpOnOff value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} +} // namespace Reachable -EmberAfStatus Set(chip::EndpointId endpoint, - const chip::app::DataModel::Nullable & value) +namespace UniqueID { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - if (value.IsNull()) + uint8_t zclString[32 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { - return SetNull(endpoint); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - return Set(endpoint, value.Value()); + VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 32); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[32 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace StartUpOnOff +} // namespace UniqueID namespace FeatureMap { @@ -2929,7 +2922,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -2948,7 +2941,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -2960,7 +2953,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -2979,25 +2972,26 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace OnOff +} // namespace Basic -namespace OnOffSwitchConfiguration { +namespace OtaSoftwareUpdateProvider { namespace Attributes { -namespace SwitchType { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::OtaSoftwareUpdateProvider::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -3006,9 +3000,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -3016,19 +3010,21 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OtaSoftwareUpdateProvider::Id, Id, writable, + ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace SwitchType +} // namespace FeatureMap -namespace SwitchActions { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::OtaSoftwareUpdateProvider::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -3037,9 +3033,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -3047,19 +3043,26 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OtaSoftwareUpdateProvider::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace SwitchActions +} // namespace ClusterRevision -namespace FeatureMap { +} // namespace Attributes +} // namespace OtaSoftwareUpdateProvider -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +namespace OtaSoftwareUpdateRequestor { +namespace Attributes { + +namespace UpdatePossible { + +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -3068,9 +3071,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -3078,19 +3081,21 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, writable, + ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace UpdatePossible -namespace ClusterRevision { +namespace UpdateState { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::OtaSoftwareUpdateRequestor::OTAUpdateStateEnum * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -3099,9 +3104,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::OtaSoftwareUpdateRequestor::OTAUpdateStateEnum value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -3109,56 +3114,74 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision +} // namespace UpdateState -} // namespace Attributes -} // namespace OnOffSwitchConfiguration - -namespace LevelControl { -namespace Attributes { - -namespace CurrentLevel { +namespace UpdateStateProgress { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace CurrentLevel +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} -namespace RemainingTime { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) + return Set(endpoint, value.Value()); +} + +} // namespace UpdateStateProgress + +namespace FeatureMap { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -3167,9 +3190,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -3177,19 +3200,21 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, writable, + ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace RemainingTime +} // namespace FeatureMap -namespace MinLevel { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -3198,9 +3223,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -3208,19 +3233,58 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MinLevel +} // namespace ClusterRevision -namespace MaxLevel { +} // namespace Attributes +} // namespace OtaSoftwareUpdateRequestor -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +namespace LocalizationConfiguration { +namespace Attributes { + +namespace ActiveLocale { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; + uint8_t zclString[35 + 1]; + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::LocalizationConfiguration::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + + VerifyOrReturnError(value.size() == 35, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 35); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(35 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 35, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[35 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::LocalizationConfiguration::Id, Id, zclString, + ZCL_CHAR_STRING_ATTRIBUTE_TYPE); +} + +} // namespace ActiveLocale + +namespace FeatureMap { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +{ + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::LocalizationConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -3229,9 +3293,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -3239,19 +3303,21 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LocalizationConfiguration::Id, Id, writable, + ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace MaxLevel +} // namespace FeatureMap -namespace CurrentFrequency { +namespace ClusterRevision { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::LocalizationConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -3270,19 +3336,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LocalizationConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace CurrentFrequency +} // namespace ClusterRevision -namespace MinFrequency { +} // namespace Attributes +} // namespace LocalizationConfiguration -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +namespace TimeFormatLocalization { +namespace Attributes { + +namespace HourFormat { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::TimeFormatLocalization::HourFormat * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TimeFormatLocalization::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -3291,9 +3363,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::TimeFormatLocalization::HourFormat value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -3301,19 +3373,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TimeFormatLocalization::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MinFrequency +} // namespace HourFormat -namespace MaxFrequency { +namespace ActiveCalendarType { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::TimeFormatLocalization::CalendarType * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TimeFormatLocalization::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -3322,9 +3394,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::TimeFormatLocalization::CalendarType value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -3332,19 +3404,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TimeFormatLocalization::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MaxFrequency +} // namespace ActiveCalendarType -namespace Options { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TimeFormatLocalization::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -3353,9 +3425,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -3363,19 +3435,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TimeFormatLocalization::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace Options +} // namespace FeatureMap -namespace OnOffTransitionTime { +namespace ClusterRevision { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TimeFormatLocalization::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -3394,275 +3466,115 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TimeFormatLocalization::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace OnOffTransitionTime +} // namespace ClusterRevision -namespace OnLevel { +} // namespace Attributes +} // namespace TimeFormatLocalization -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +namespace UnitLocalization { +namespace Attributes { + +namespace TemperatureUnit { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::UnitLocalization::TempUnit * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::UnitLocalization::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::UnitLocalization::TempUnit value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::UnitLocalization::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -EmberAfStatus SetNull(chip::EndpointId endpoint) +} // namespace TemperatureUnit + +namespace FeatureMap { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace OnLevel - -namespace OnTransitionTime { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::UnitLocalization::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::UnitLocalization::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace OnTransitionTime +} // namespace FeatureMap -namespace OffTransitionTime { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::UnitLocalization::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace OffTransitionTime - -namespace DefaultMoveRate { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace DefaultMoveRate - -namespace StartUpCurrentLevel { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::UnitLocalization::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } +} // namespace ClusterRevision - return Set(endpoint, value.Value()); -} +} // namespace Attributes +} // namespace UnitLocalization -} // namespace StartUpCurrentLevel +namespace PowerSourceConfiguration { +namespace Attributes { namespace FeatureMap { @@ -3671,7 +3583,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSourceConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -3690,7 +3602,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSourceConfiguration::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -3702,7 +3614,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSourceConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -3721,25 +3633,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSourceConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace LevelControl +} // namespace PowerSourceConfiguration -namespace Alarms { +namespace PowerSource { namespace Attributes { -namespace AlarmCount { +namespace Status { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::PowerSourceStatus * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Alarms::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -3748,9 +3660,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::PowerSourceStatus value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -3758,19 +3670,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Alarms::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace AlarmCount +} // namespace Status -namespace FeatureMap { +namespace Order { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Alarms::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -3779,9 +3691,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -3789,149 +3701,155 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Alarms::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace Order -namespace ClusterRevision { +namespace Description { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Alarms::Id, Id, readable, sizeof(temp)); + uint8_t zclString[60 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - *value = Traits::StorageToWorking(temp); + + VerifyOrReturnError(value.size() == 60, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 60); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Alarms::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + static_assert(60 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 60, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[60 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace Alarms - -namespace Time { -namespace Attributes { +} // namespace Description -namespace Time { +namespace WiredAssessedInputVoltage { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, writable, ZCL_EPOCH_S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace Time - -namespace TimeStatus { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace TimeStatus +} // namespace WiredAssessedInputVoltage -namespace TimeZone { +namespace WiredAssessedInputFrequency { -EmberAfStatus Get(chip::EndpointId endpoint, int32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, writable, ZCL_INT32S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); +} + +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); } -} // namespace TimeZone +} // namespace WiredAssessedInputFrequency -namespace DstStart { +namespace WiredCurrentType { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::WiredCurrentType * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -3940,9 +3858,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::WiredCurrentType value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -3950,81 +3868,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace DstStart +} // namespace WiredCurrentType -namespace DstEnd { +namespace WiredAssessedCurrent { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace DstEnd - -namespace DstShift { - -EmberAfStatus Get(chip::EndpointId endpoint, int32_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, int32_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, writable, ZCL_INT32S_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace DstShift +} // namespace WiredAssessedCurrent -namespace StandardTime { +namespace WiredNominalVoltage { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4043,19 +3952,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace StandardTime +} // namespace WiredNominalVoltage -namespace LocalTime { +namespace WiredMaximumCurrent { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4074,19 +3983,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace LocalTime +} // namespace WiredMaximumCurrent -namespace LastSetTime { +namespace WiredPresent { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4095,9 +4004,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -4105,208 +4014,178 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, writable, ZCL_EPOCH_S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace LastSetTime +} // namespace WiredPresent -namespace ValidUntilTime { +namespace BatVoltage { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, writable, ZCL_EPOCH_S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace ValidUntilTime - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace FeatureMap +} // namespace BatVoltage -namespace ClusterRevision { +namespace BatPercentRemaining { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace Time - -namespace BinaryInputBasic { -namespace Attributes { - -namespace ActiveText { +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - uint8_t zclString[16 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + return Set(endpoint, value.Value()); } -} // namespace ActiveText +} // namespace BatPercentRemaining -namespace Description { +namespace BatTimeRemaining { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - uint8_t zclString[16 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, zclString, sizeof(zclString)); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace Description - -namespace InactiveText { +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); +} -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - uint8_t zclString[16 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + return Set(endpoint, value.Value()); } -} // namespace InactiveText +} // namespace BatTimeRemaining -namespace OutOfService { +namespace BatChargeLevel { -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::BatChargeLevel * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4315,9 +4194,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, bool * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, bool value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::BatChargeLevel value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -4325,19 +4204,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, bool value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace OutOfService +} // namespace BatChargeLevel -namespace Polarity { +namespace BatReplacementNeeded { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4346,9 +4225,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -4356,19 +4235,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace Polarity +} // namespace BatReplacementNeeded -namespace PresentValue { +namespace BatReplaceability { -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::BatReplaceability * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4377,9 +4256,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, bool * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, bool value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::BatReplaceability value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -4387,19 +4266,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, bool value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace PresentValue +} // namespace BatReplaceability -namespace Reliability { +namespace BatPresent { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4408,9 +4287,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -4418,50 +4297,49 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace Reliability +} // namespace BatPresent -namespace StatusFlags { +namespace BatReplacementDescription { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, readable, sizeof(temp)); + uint8_t zclString[60 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - *value = Traits::StorageToWorking(temp); + + VerifyOrReturnError(value.size() == 60, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 60); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + static_assert(60 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 60, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[60 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace StatusFlags +} // namespace BatReplacementDescription -namespace ApplicationType { +namespace BatCommonDesignation { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4480,19 +4358,79 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace ApplicationType +} // namespace BatCommonDesignation -namespace FeatureMap { +namespace BatANSIDesignation { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, readable, sizeof(temp)); + uint8_t zclString[20 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + + VerifyOrReturnError(value.size() == 20, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 20); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(20 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 20, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[20 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); +} + +} // namespace BatANSIDesignation + +namespace BatIECDesignation { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +{ + uint8_t zclString[20 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + + VerifyOrReturnError(value.size() == 20, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 20); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(20 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 20, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[20 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); +} + +} // namespace BatIECDesignation + +namespace BatApprovedChemistry { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4511,19 +4449,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace BatApprovedChemistry -namespace ClusterRevision { +namespace BatCapacity { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4532,9 +4470,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -4542,25 +4480,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace BinaryInputBasic - -namespace PowerProfile { -namespace Attributes { +} // namespace BatCapacity -namespace TotalProfileNum { +namespace BatQuantity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4579,19 +4511,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace TotalProfileNum +} // namespace BatQuantity -namespace MultipleScheduling { +namespace BatChargeState { -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::BatChargeState * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4600,9 +4532,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, bool * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, bool value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::BatChargeState value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -4610,50 +4542,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, bool value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MultipleScheduling +} // namespace BatChargeState -namespace EnergyFormatting { +namespace BatTimeToFullCharge { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace EnergyFormatting +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); +} + +} // namespace BatTimeToFullCharge -namespace EnergyRemote { +namespace BatFunctionalWhileCharging { EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4672,41 +4626,63 @@ EmberAfStatus Set(chip::EndpointId endpoint, bool value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace EnergyRemote +} // namespace BatFunctionalWhileCharging -namespace ScheduleMode { +namespace BatChargingCurrent { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); +} + +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); } -} // namespace ScheduleMode +} // namespace BatChargingCurrent namespace FeatureMap { @@ -4715,7 +4691,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4734,7 +4710,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -4746,7 +4722,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4765,25 +4741,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace PowerProfile +} // namespace PowerSource -namespace ApplianceControl { +namespace GeneralCommissioning { namespace Attributes { -namespace StartTime { +namespace Breadcrumb { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4792,9 +4768,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -4802,19 +4778,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace StartTime +} // namespace Breadcrumb -namespace FinishTime { +namespace RegulatoryConfig { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4823,9 +4799,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -4833,19 +4809,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace FinishTime +} // namespace RegulatoryConfig -namespace RemainingTime { +namespace LocationCapability { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4854,9 +4830,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -4864,19 +4840,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace RemainingTime +} // namespace LocationCapability -namespace FeatureMap { +namespace SupportsConcurrentConnection { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4885,9 +4861,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -4895,56 +4871,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceControl::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace SupportsConcurrentConnection -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceControl::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ApplianceControl - -namespace PulseWidthModulation { -namespace Attributes { - -namespace FeatureMap { +namespace FeatureMap { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PulseWidthModulation::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4963,7 +4902,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PulseWidthModulation::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -4975,7 +4914,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PulseWidthModulation::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -4994,25 +4933,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PulseWidthModulation::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace PulseWidthModulation +} // namespace GeneralCommissioning -namespace Descriptor { +namespace NetworkCommissioning { namespace Attributes { -namespace FeatureMap { +namespace MaxNetworks { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Descriptor::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5021,9 +4960,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -5031,19 +4970,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Descriptor::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace MaxNetworks -namespace ClusterRevision { +namespace ScanMaxTimeSeconds { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Descriptor::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5052,9 +4991,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -5062,25 +5001,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Descriptor::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace Descriptor - -namespace Binding { -namespace Attributes { +} // namespace ScanMaxTimeSeconds -namespace FeatureMap { +namespace ConnectMaxTimeSeconds { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Binding::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5089,9 +5022,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -5099,19 +5032,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Binding::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace ConnectMaxTimeSeconds -namespace ClusterRevision { +namespace InterfaceEnabled { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Binding::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5120,9 +5053,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -5130,118 +5063,179 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Binding::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace Binding - -namespace AccessControl { -namespace Attributes { +} // namespace InterfaceEnabled -namespace SubjectsPerAccessControlEntry { +namespace LastNetworkingStatus { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, + DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AccessControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::NetworkCommissioning::NetworkCommissioningStatus value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::AccessControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace SubjectsPerAccessControlEntry +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); +} -namespace TargetsPerAccessControlEntry { +EmberAfStatus +Set(chip::EndpointId endpoint, + const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) + return Set(endpoint, value.Value()); +} + +} // namespace LastNetworkingStatus + +namespace LastNetworkID { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AccessControl::Id, Id, readable, sizeof(temp)); + uint8_t zclString[32 + 1]; + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + return EMBER_ZCL_STATUS_SUCCESS; } - *value = Traits::StorageToWorking(temp); + auto & span = value.SetNonNull(); + + VerifyOrReturnError(span.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(span.data(), &zclString[1], 32); + span.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[32 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, zclString, + ZCL_OCTET_STRING_ATTRIBUTE_TYPE); +} + +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + uint8_t zclString[1] = { 0xFF }; + return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, zclString, + ZCL_OCTET_STRING_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::AccessControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace TargetsPerAccessControlEntry +} // namespace LastNetworkID -namespace AccessControlEntriesPerFabric { +namespace LastConnectErrorValue { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AccessControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, int32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::AccessControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_INT32S_ATTRIBUTE_TYPE); } -} // namespace AccessControlEntriesPerFabric - -namespace FeatureMap { - +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_INT32S_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); +} + +} // namespace LastConnectErrorValue + +namespace FeatureMap { + EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AccessControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5260,7 +5254,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::AccessControl::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -5272,7 +5266,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AccessControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5291,25 +5285,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::AccessControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace AccessControl +} // namespace NetworkCommissioning -namespace PollControl { +namespace DiagnosticLogs { namespace Attributes { -namespace CheckInInterval { +namespace FeatureMap { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PollControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DiagnosticLogs::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5328,19 +5322,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PollControl::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DiagnosticLogs::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace CheckInInterval +} // namespace FeatureMap -namespace LongPollInterval { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PollControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DiagnosticLogs::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5349,9 +5343,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -5359,19 +5353,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PollControl::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DiagnosticLogs::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace LongPollInterval +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace DiagnosticLogs + +namespace GeneralDiagnostics { +namespace Attributes { -namespace ShortPollInterval { +namespace RebootCount { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PollControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5390,19 +5390,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PollControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ShortPollInterval +} // namespace RebootCount -namespace FastPollTimeout { +namespace UpTime { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PollControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5411,9 +5411,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -5421,19 +5421,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PollControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace FastPollTimeout +} // namespace UpTime -namespace CheckInIntervalMin { +namespace TotalOperationalHours { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PollControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5452,19 +5452,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PollControl::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace CheckInIntervalMin +} // namespace TotalOperationalHours -namespace LongPollIntervalMin { +namespace BootReasons { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PollControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5473,9 +5473,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -5483,19 +5483,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PollControl::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace LongPollIntervalMin +} // namespace BootReasons -namespace FastPollTimeoutMax { +namespace TestEventTriggersEnabled { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PollControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5504,9 +5504,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -5514,10 +5514,10 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PollControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace FastPollTimeoutMax +} // namespace TestEventTriggersEnabled namespace FeatureMap { @@ -5526,7 +5526,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PollControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5545,7 +5545,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PollControl::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -5557,7 +5557,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PollControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5576,55 +5576,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PollControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace PollControl +} // namespace GeneralDiagnostics -namespace BridgedActions { +namespace SoftwareDiagnostics { namespace Attributes { -namespace SetupUrl { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[512 + 2]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedActions::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfLongStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 512, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[2], 512); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(512 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 512, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[512 + 2]; - emberAfCopyInt16u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[2], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedActions::Id, Id, zclString, ZCL_LONG_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace SetupUrl - -namespace FeatureMap { +namespace CurrentHeapFree { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedActions::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5633,9 +5603,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -5643,19 +5613,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedActions::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace CurrentHeapFree -namespace ClusterRevision { +namespace CurrentHeapUsed { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedActions::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5664,9 +5634,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -5674,25 +5644,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedActions::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace BridgedActions - -namespace Basic { -namespace Attributes { +} // namespace CurrentHeapUsed -namespace DataModelRevision { +namespace CurrentHeapHighWatermark { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5701,9 +5665,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -5711,49 +5675,50 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace DataModelRevision +} // namespace CurrentHeapHighWatermark -namespace VendorName { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - uint8_t zclString[32 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 32); - value.reduce_size(length); + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[32 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace VendorName +} // namespace FeatureMap -namespace VendorID { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, chip::VendorId * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -5762,9 +5727,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, chip::VendorId * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::VendorId value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -5772,11273 +5737,322 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::VendorId value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_VENDOR_ID_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace VendorID +} // namespace ClusterRevision -namespace ProductName { +} // namespace Attributes +} // namespace SoftwareDiagnostics -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +namespace ThreadNetworkDiagnostics { +namespace Attributes { + +namespace Channel { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - uint8_t zclString[32 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (Traits::IsNullValue(temp)) + { + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); + } + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); +} - VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 32); - value.reduce_size(length); - return status; +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[32 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); } -} // namespace ProductName +} // namespace Channel -namespace ProductID { +namespace RoutingRole { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, + DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::ThreadNetworkDiagnostics::RoutingRole value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace ProductID - -namespace NodeLabel { +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); +} -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, + const chip::app::DataModel::Nullable & value) { - uint8_t zclString[32 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 32); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[32 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + return Set(endpoint, value.Value()); } -} // namespace NodeLabel +} // namespace RoutingRole -namespace Location { +namespace NetworkName { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - uint8_t zclString[2 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); + uint8_t zclString[16 + 1]; + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); size_t length = emberAfStringLength(zclString); if (length == NumericAttributeTraits::kNullValue) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + return EMBER_ZCL_STATUS_SUCCESS; } + auto & span = value.SetNonNull(); - VerifyOrReturnError(value.size() == 2, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 2); - value.reduce_size(length); + VerifyOrReturnError(span.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(span.data(), &zclString[1], 16); + span.reduce_size(length); return status; } EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - static_assert(2 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 2, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[2 + 1]; + static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[16 + 1]; emberAfCopyInt8u(zclString, 0, static_cast(value.size())); memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, + ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace Location +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + uint8_t zclString[1] = { 0xFF }; + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, + ZCL_CHAR_STRING_ATTRIBUTE_TYPE); +} -namespace HardwareVersion { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) + return Set(endpoint, value.Value()); +} + +} // namespace NetworkName + +namespace PanId { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace HardwareVersion - -namespace HardwareVersionString { +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); +} -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - uint8_t zclString[64 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - VerifyOrReturnError(value.size() == 64, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 64); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(64 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 64, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[64 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + return Set(endpoint, value.Value()); } -} // namespace HardwareVersionString +} // namespace PanId -namespace SoftwareVersion { +namespace ExtendedPanId { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace SoftwareVersion - -namespace SoftwareVersionString { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - uint8_t zclString[64 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 64, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 64); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(64 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 64, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[64 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace SoftwareVersionString - -namespace ManufacturingDate { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[16 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace ManufacturingDate - -namespace PartNumber { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[32 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 32); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[32 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace PartNumber - -namespace ProductURL { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[256 + 2]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfLongStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 256, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[2], 256); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(256 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 256, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[256 + 2]; - emberAfCopyInt16u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[2], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_LONG_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace ProductURL - -namespace ProductLabel { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[64 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 64, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 64); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(64 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 64, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[64 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace ProductLabel - -namespace SerialNumber { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[32 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 32); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[32 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace SerialNumber - -namespace LocalConfigDisabled { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace LocalConfigDisabled - -namespace Reachable { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace Reachable - -namespace UniqueID { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[32 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 32); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[32 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace UniqueID - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace Basic - -namespace OtaSoftwareUpdateProvider { -namespace Attributes { - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OtaSoftwareUpdateProvider::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OtaSoftwareUpdateProvider::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OtaSoftwareUpdateProvider::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OtaSoftwareUpdateProvider::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace OtaSoftwareUpdateProvider - -namespace OtaSoftwareUpdateRequestor { -namespace Attributes { - -namespace UpdatePossible { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, writable, - ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace UpdatePossible - -namespace UpdateState { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::OtaSoftwareUpdateRequestor::OTAUpdateStateEnum * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::OtaSoftwareUpdateRequestor::OTAUpdateStateEnum value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace UpdateState - -namespace UpdateStateProgress { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace UpdateStateProgress - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace OtaSoftwareUpdateRequestor - -namespace LocalizationConfiguration { -namespace Attributes { - -namespace ActiveLocale { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[35 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::LocalizationConfiguration::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 35, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 35); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(35 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 35, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[35 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::LocalizationConfiguration::Id, Id, zclString, - ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace ActiveLocale - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::LocalizationConfiguration::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LocalizationConfiguration::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::LocalizationConfiguration::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LocalizationConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace LocalizationConfiguration - -namespace TimeFormatLocalization { -namespace Attributes { - -namespace HourFormat { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::TimeFormatLocalization::HourFormat * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TimeFormatLocalization::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::TimeFormatLocalization::HourFormat value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TimeFormatLocalization::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace HourFormat - -namespace ActiveCalendarType { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::TimeFormatLocalization::CalendarType * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TimeFormatLocalization::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::TimeFormatLocalization::CalendarType value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TimeFormatLocalization::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace ActiveCalendarType - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TimeFormatLocalization::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TimeFormatLocalization::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TimeFormatLocalization::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TimeFormatLocalization::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace TimeFormatLocalization - -namespace UnitLocalization { -namespace Attributes { - -namespace TemperatureUnit { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::UnitLocalization::TempUnit * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::UnitLocalization::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::UnitLocalization::TempUnit value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::UnitLocalization::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace TemperatureUnit - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::UnitLocalization::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::UnitLocalization::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::UnitLocalization::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::UnitLocalization::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace UnitLocalization - -namespace PowerSourceConfiguration { -namespace Attributes { - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSourceConfiguration::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSourceConfiguration::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSourceConfiguration::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSourceConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace PowerSourceConfiguration - -namespace PowerSource { -namespace Attributes { - -namespace Status { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::PowerSourceStatus * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::PowerSourceStatus value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace Status - -namespace Order { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace Order - -namespace Description { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[60 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 60, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 60); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(60 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 60, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[60 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace Description - -namespace WiredAssessedInputVoltage { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace WiredAssessedInputVoltage - -namespace WiredAssessedInputFrequency { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace WiredAssessedInputFrequency - -namespace WiredCurrentType { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::WiredCurrentType * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::WiredCurrentType value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace WiredCurrentType - -namespace WiredAssessedCurrent { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace WiredAssessedCurrent - -namespace WiredNominalVoltage { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace WiredNominalVoltage - -namespace WiredMaximumCurrent { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace WiredMaximumCurrent - -namespace WiredPresent { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace WiredPresent - -namespace BatVoltage { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace BatVoltage - -namespace BatPercentRemaining { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace BatPercentRemaining - -namespace BatTimeRemaining { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace BatTimeRemaining - -namespace BatChargeLevel { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::BatChargeLevel * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::BatChargeLevel value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace BatChargeLevel - -namespace BatReplacementNeeded { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace BatReplacementNeeded - -namespace BatReplaceability { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::BatReplaceability * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::BatReplaceability value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace BatReplaceability - -namespace BatPresent { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace BatPresent - -namespace BatReplacementDescription { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[60 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 60, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 60); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(60 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 60, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[60 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace BatReplacementDescription - -namespace BatCommonDesignation { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace BatCommonDesignation - -namespace BatANSIDesignation { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[20 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 20, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 20); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(20 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 20, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[20 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace BatANSIDesignation - -namespace BatIECDesignation { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[20 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 20, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 20); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(20 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 20, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[20 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace BatIECDesignation - -namespace BatApprovedChemistry { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace BatApprovedChemistry - -namespace BatCapacity { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace BatCapacity - -namespace BatQuantity { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace BatQuantity - -namespace BatChargeState { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::BatChargeState * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PowerSource::BatChargeState value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace BatChargeState - -namespace BatTimeToFullCharge { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace BatTimeToFullCharge - -namespace BatFunctionalWhileCharging { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace BatFunctionalWhileCharging - -namespace BatChargingCurrent { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace BatChargingCurrent - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace PowerSource - -namespace GeneralCommissioning { -namespace Attributes { - -namespace Breadcrumb { - -EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -} // namespace Breadcrumb - -namespace RegulatoryConfig { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace RegulatoryConfig - -namespace LocationCapability { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace LocationCapability - -namespace SupportsConcurrentConnection { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace SupportsConcurrentConnection - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace GeneralCommissioning - -namespace NetworkCommissioning { -namespace Attributes { - -namespace MaxNetworks { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace MaxNetworks - -namespace ScanMaxTimeSeconds { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace ScanMaxTimeSeconds - -namespace ConnectMaxTimeSeconds { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace ConnectMaxTimeSeconds - -namespace InterfaceEnabled { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace InterfaceEnabled - -namespace LastNetworkingStatus { - -EmberAfStatus Get(chip::EndpointId endpoint, - DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::NetworkCommissioning::NetworkCommissioningStatus value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -EmberAfStatus -Set(chip::EndpointId endpoint, - const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace LastNetworkingStatus - -namespace LastNetworkID { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - uint8_t zclString[32 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - value.SetNull(); - return EMBER_ZCL_STATUS_SUCCESS; - } - auto & span = value.SetNonNull(); - - VerifyOrReturnError(span.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(span.data(), &zclString[1], 32); - span.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value) -{ - static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[32 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, zclString, - ZCL_OCTET_STRING_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - uint8_t zclString[1] = { 0xFF }; - return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, zclString, - ZCL_OCTET_STRING_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace LastNetworkID - -namespace LastConnectErrorValue { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, int32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_INT32S_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_INT32S_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace LastConnectErrorValue - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace NetworkCommissioning - -namespace DiagnosticLogs { -namespace Attributes { - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DiagnosticLogs::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DiagnosticLogs::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DiagnosticLogs::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DiagnosticLogs::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace DiagnosticLogs - -namespace GeneralDiagnostics { -namespace Attributes { - -namespace RebootCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace RebootCount - -namespace UpTime { - -EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -} // namespace UpTime - -namespace TotalOperationalHours { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TotalOperationalHours - -namespace BootReasons { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace BootReasons - -namespace TestEventTriggersEnabled { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace TestEventTriggersEnabled - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace GeneralDiagnostics - -namespace SoftwareDiagnostics { -namespace Attributes { - -namespace CurrentHeapFree { - -EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -} // namespace CurrentHeapFree - -namespace CurrentHeapUsed { - -EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -} // namespace CurrentHeapUsed - -namespace CurrentHeapHighWatermark { - -EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -} // namespace CurrentHeapHighWatermark - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace SoftwareDiagnostics - -namespace ThreadNetworkDiagnostics { -namespace Attributes { - -namespace Channel { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace Channel - -namespace RoutingRole { - -EmberAfStatus Get(chip::EndpointId endpoint, - DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::ThreadNetworkDiagnostics::RoutingRole value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, - const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace RoutingRole - -namespace NetworkName { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - uint8_t zclString[16 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - value.SetNull(); - return EMBER_ZCL_STATUS_SUCCESS; - } - auto & span = value.SetNonNull(); - - VerifyOrReturnError(span.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(span.data(), &zclString[1], 16); - span.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, - ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - uint8_t zclString[1] = { 0xFF }; - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, - ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace NetworkName - -namespace PanId { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace PanId - -namespace ExtendedPanId { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace ExtendedPanId - -namespace MeshLocalPrefix { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - uint8_t zclString[17 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - value.SetNull(); - return EMBER_ZCL_STATUS_SUCCESS; - } - auto & span = value.SetNonNull(); - - VerifyOrReturnError(span.size() == 17, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(span.data(), &zclString[1], 17); - span.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value) -{ - static_assert(17 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 17, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[17 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, - ZCL_OCTET_STRING_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - uint8_t zclString[1] = { 0xFF }; - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, - ZCL_OCTET_STRING_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace MeshLocalPrefix - -namespace OverrunCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -} // namespace OverrunCount - -namespace PartitionId { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace PartitionId - -namespace Weighting { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace Weighting - -namespace DataVersion { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace DataVersion - -namespace StableDataVersion { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace StableDataVersion - -namespace LeaderRouterId { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace LeaderRouterId - -namespace DetachedRoleCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace DetachedRoleCount - -namespace ChildRoleCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ChildRoleCount - -namespace RouterRoleCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace RouterRoleCount - -namespace LeaderRoleCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace LeaderRoleCount - -namespace AttachAttemptCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace AttachAttemptCount - -namespace PartitionIdChangeCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace PartitionIdChangeCount - -namespace BetterPartitionAttachAttemptCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace BetterPartitionAttachAttemptCount - -namespace ParentChangeCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ParentChangeCount - -namespace TxTotalCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TxTotalCount - -namespace TxUnicastCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TxUnicastCount - -namespace TxBroadcastCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TxBroadcastCount - -namespace TxAckRequestedCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TxAckRequestedCount - -namespace TxAckedCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TxAckedCount - -namespace TxNoAckRequestedCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TxNoAckRequestedCount - -namespace TxDataCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TxDataCount - -namespace TxDataPollCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TxDataPollCount - -namespace TxBeaconCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TxBeaconCount - -namespace TxBeaconRequestCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TxBeaconRequestCount - -namespace TxOtherCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TxOtherCount - -namespace TxRetryCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TxRetryCount - -namespace TxDirectMaxRetryExpiryCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TxDirectMaxRetryExpiryCount - -namespace TxIndirectMaxRetryExpiryCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TxIndirectMaxRetryExpiryCount - -namespace TxErrCcaCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TxErrCcaCount - -namespace TxErrAbortCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TxErrAbortCount - -namespace TxErrBusyChannelCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace TxErrBusyChannelCount - -namespace RxTotalCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace RxTotalCount - -namespace RxUnicastCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace RxUnicastCount - -namespace RxBroadcastCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace RxBroadcastCount - -namespace RxDataCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace RxDataCount - -namespace RxDataPollCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace RxDataPollCount - -namespace RxBeaconCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace RxBeaconCount - -namespace RxBeaconRequestCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace RxBeaconRequestCount - -namespace RxOtherCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace RxOtherCount - -namespace RxAddressFilteredCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace RxAddressFilteredCount - -namespace RxDestAddrFilteredCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace RxDestAddrFilteredCount - -namespace RxDuplicatedCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace RxDuplicatedCount - -namespace RxErrNoFrameCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace RxErrNoFrameCount - -namespace RxErrUnknownNeighborCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace RxErrUnknownNeighborCount - -namespace RxErrInvalidSrcAddrCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace RxErrInvalidSrcAddrCount - -namespace RxErrSecCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace RxErrSecCount - -namespace RxErrFcsCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace RxErrFcsCount - -namespace RxErrOtherCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace RxErrOtherCount - -namespace ActiveTimestamp { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace ActiveTimestamp - -namespace PendingTimestamp { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace PendingTimestamp - -namespace Delay { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace Delay - -namespace ChannelMask { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - uint8_t zclString[4 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - value.SetNull(); - return EMBER_ZCL_STATUS_SUCCESS; - } - auto & span = value.SetNonNull(); - - VerifyOrReturnError(span.size() == 4, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(span.data(), &zclString[1], 4); - span.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value) -{ - static_assert(4 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 4, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[4 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, - ZCL_OCTET_STRING_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - uint8_t zclString[1] = { 0xFF }; - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, - ZCL_OCTET_STRING_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace ChannelMask - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ThreadNetworkDiagnostics - -namespace WiFiNetworkDiagnostics { -namespace Attributes { - -namespace Bssid { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - uint8_t zclString[6 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - value.SetNull(); - return EMBER_ZCL_STATUS_SUCCESS; - } - auto & span = value.SetNonNull(); - - VerifyOrReturnError(span.size() == 6, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(span.data(), &zclString[1], 6); - span.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value) -{ - static_assert(6 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 6, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[6 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, zclString, - ZCL_OCTET_STRING_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - uint8_t zclString[1] = { 0xFF }; - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, zclString, - ZCL_OCTET_STRING_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace Bssid - -namespace SecurityType { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::WiFiNetworkDiagnostics::SecurityType value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, - const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace SecurityType - -namespace WiFiVersion { - -EmberAfStatus Get(chip::EndpointId endpoint, - DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::WiFiNetworkDiagnostics::WiFiVersionType value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, - const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace WiFiVersion - -namespace ChannelNumber { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace ChannelNumber - -namespace Rssi { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, int8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT8S_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT8S_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace Rssi - -namespace BeaconLostCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace BeaconLostCount - -namespace BeaconRxCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace BeaconRxCount - -namespace PacketMulticastRxCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace PacketMulticastRxCount - -namespace PacketMulticastTxCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace PacketMulticastTxCount - -namespace PacketUnicastRxCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace PacketUnicastRxCount - -namespace PacketUnicastTxCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace PacketUnicastTxCount - -namespace CurrentMaxRate { - -EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -} // namespace CurrentMaxRate - -namespace OverrunCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -} // namespace OverrunCount - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace WiFiNetworkDiagnostics - -namespace EthernetNetworkDiagnostics { -namespace Attributes { - -namespace PHYRate { - -EmberAfStatus Get(chip::EndpointId endpoint, - DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::EthernetNetworkDiagnostics::PHYRateType value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, - const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace PHYRate - -namespace FullDuplex { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, - ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, - ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace FullDuplex - -namespace PacketRxCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -} // namespace PacketRxCount - -namespace PacketTxCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -} // namespace PacketTxCount - -namespace TxErrCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -} // namespace TxErrCount - -namespace CollisionCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -} // namespace CollisionCount - -namespace OverrunCount { - -EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -} // namespace OverrunCount - -namespace CarrierDetect { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, - ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, - ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace CarrierDetect - -namespace TimeSinceReset { - -EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -} // namespace TimeSinceReset - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace EthernetNetworkDiagnostics - -namespace TimeSynchronization { -namespace Attributes { - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TimeSynchronization::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TimeSynchronization::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TimeSynchronization::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TimeSynchronization::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace TimeSynchronization - -namespace BridgedDeviceBasic { -namespace Attributes { - -namespace VendorName { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[32 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 32); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[32 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace VendorName - -namespace VendorID { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::VendorId * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::VendorId value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, writable, ZCL_VENDOR_ID_ATTRIBUTE_TYPE); -} - -} // namespace VendorID - -namespace ProductName { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[32 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 32); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[32 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace ProductName - -namespace NodeLabel { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[32 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 32); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[32 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace NodeLabel - -namespace HardwareVersion { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace HardwareVersion - -namespace HardwareVersionString { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[64 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 64, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 64); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(64 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 64, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[64 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace HardwareVersionString - -namespace SoftwareVersion { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace SoftwareVersion - -namespace SoftwareVersionString { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[64 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 64, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 64); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(64 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 64, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[64 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace SoftwareVersionString - -namespace ManufacturingDate { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[16 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace ManufacturingDate - -namespace PartNumber { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[32 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 32); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[32 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace PartNumber - -namespace ProductURL { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[256 + 2]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfLongStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 256, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[2], 256); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(256 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 256, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[256 + 2]; - emberAfCopyInt16u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[2], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, - ZCL_LONG_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace ProductURL - -namespace ProductLabel { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[64 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 64, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 64); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(64 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 64, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[64 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace ProductLabel - -namespace SerialNumber { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[32 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 32); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[32 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace SerialNumber - -namespace Reachable { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace Reachable - -namespace UniqueID { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[32 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 32); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[32 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace UniqueID - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace BridgedDeviceBasic - -namespace Switch { -namespace Attributes { - -namespace NumberOfPositions { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Switch::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Switch::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace NumberOfPositions - -namespace CurrentPosition { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Switch::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Switch::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace CurrentPosition - -namespace MultiPressMax { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Switch::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Switch::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace MultiPressMax - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Switch::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Switch::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Switch::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Switch::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace Switch - -namespace AdministratorCommissioning { -namespace Attributes { - -namespace WindowStatus { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace WindowStatus - -namespace AdminFabricIndex { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::FabricIndex * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::FabricIndex value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, writable, - ZCL_FABRIC_IDX_ATTRIBUTE_TYPE); -} - -} // namespace AdminFabricIndex - -namespace AdminVendorId { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace AdminVendorId - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace AdministratorCommissioning - -namespace OperationalCredentials { -namespace Attributes { - -namespace SupportedFabrics { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace SupportedFabrics - -namespace CommissionedFabrics { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace CommissionedFabrics - -namespace CurrentFabricIndex { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::FabricIndex * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::FabricIndex value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, writable, ZCL_FABRIC_IDX_ATTRIBUTE_TYPE); -} - -} // namespace CurrentFabricIndex - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace OperationalCredentials - -namespace GroupKeyManagement { -namespace Attributes { - -namespace MaxGroupsPerFabric { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GroupKeyManagement::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::GroupKeyManagement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace MaxGroupsPerFabric - -namespace MaxGroupKeysPerFabric { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GroupKeyManagement::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::GroupKeyManagement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace MaxGroupKeysPerFabric - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GroupKeyManagement::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::GroupKeyManagement::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GroupKeyManagement::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::GroupKeyManagement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace GroupKeyManagement - -namespace FixedLabel { -namespace Attributes { - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FixedLabel::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FixedLabel::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FixedLabel::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FixedLabel::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace FixedLabel - -namespace UserLabel { -namespace Attributes { - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::UserLabel::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::UserLabel::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::UserLabel::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::UserLabel::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace UserLabel - -namespace ProxyConfiguration { -namespace Attributes { - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ProxyConfiguration::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ProxyConfiguration::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ProxyConfiguration::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ProxyConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ProxyConfiguration - -namespace ProxyDiscovery { -namespace Attributes { - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ProxyDiscovery::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ProxyDiscovery::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ProxyDiscovery::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ProxyDiscovery::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ProxyDiscovery - -namespace ProxyValid { -namespace Attributes { - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ProxyValid::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ProxyValid::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ProxyValid::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ProxyValid::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ProxyValid - -namespace BooleanState { -namespace Attributes { - -namespace StateValue { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BooleanState::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BooleanState::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace StateValue - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BooleanState::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BooleanState::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BooleanState::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BooleanState::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace BooleanState - -namespace ModeSelect { -namespace Attributes { - -namespace Description { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[32 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 32); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[32 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace Description - -namespace StandardNamespace { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_ENUM16_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_ENUM16_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace StandardNamespace - -namespace CurrentMode { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace CurrentMode - -namespace StartUpMode { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace StartUpMode - -namespace OnMode { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace OnMode - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ModeSelect - -namespace ShadeConfiguration { -namespace Attributes { - -namespace PhysicalClosedLimit { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace PhysicalClosedLimit - -namespace MotorStepSize { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace MotorStepSize - -namespace Status { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); -} - -} // namespace Status - -namespace ClosedLimit { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClosedLimit - -namespace Mode { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace Mode - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ShadeConfiguration - -namespace DoorLock { -namespace Attributes { - -namespace LockState { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::DoorLock::DlLockState value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, - const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace LockState - -namespace LockType { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::DoorLock::DlLockType * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::DoorLock::DlLockType value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace LockType - -namespace ActuatorEnabled { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace ActuatorEnabled - -namespace DoorState { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::DoorLock::DlDoorState value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, - const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace DoorState - -namespace DoorOpenEvents { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace DoorOpenEvents - -namespace DoorClosedEvents { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace DoorClosedEvents - -namespace OpenPeriod { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace OpenPeriod - -namespace NumberOfTotalUsersSupported { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace NumberOfTotalUsersSupported - -namespace NumberOfPINUsersSupported { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace NumberOfPINUsersSupported - -namespace NumberOfRFIDUsersSupported { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace NumberOfRFIDUsersSupported - -namespace NumberOfWeekDaySchedulesSupportedPerUser { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace NumberOfWeekDaySchedulesSupportedPerUser - -namespace NumberOfYearDaySchedulesSupportedPerUser { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace NumberOfYearDaySchedulesSupportedPerUser - -namespace NumberOfHolidaySchedulesSupported { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace NumberOfHolidaySchedulesSupported - -namespace MaxPINCodeLength { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace MaxPINCodeLength - -namespace MinPINCodeLength { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace MinPINCodeLength - -namespace MaxRFIDCodeLength { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace MaxRFIDCodeLength - -namespace MinRFIDCodeLength { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace MinRFIDCodeLength - -namespace CredentialRulesSupport { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) -{ - using Traits = NumericAttributeTraits>; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask value) -{ - using Traits = NumericAttributeTraits>; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); -} - -} // namespace CredentialRulesSupport - -namespace NumberOfCredentialsSupportedPerUser { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace NumberOfCredentialsSupportedPerUser - -namespace Language { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[3 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 3, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 3); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(3 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 3, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[3 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace Language - -namespace LEDSettings { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace LEDSettings - -namespace AutoRelockTime { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); -} - -} // namespace AutoRelockTime - -namespace SoundVolume { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace SoundVolume - -namespace OperatingMode { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::DoorLock::DlOperatingMode * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::DoorLock::DlOperatingMode value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace OperatingMode - -namespace SupportedOperatingModes { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) -{ - using Traits = NumericAttributeTraits>; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask value) -{ - using Traits = NumericAttributeTraits>; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BITMAP16_ATTRIBUTE_TYPE); -} - -} // namespace SupportedOperatingModes - -namespace DefaultConfigurationRegister { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) -{ - using Traits = NumericAttributeTraits>; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask value) -{ - using Traits = NumericAttributeTraits>; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BITMAP16_ATTRIBUTE_TYPE); -} - -} // namespace DefaultConfigurationRegister - -namespace EnableLocalProgramming { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace EnableLocalProgramming - -namespace EnableOneTouchLocking { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace EnableOneTouchLocking - -namespace EnableInsideStatusLED { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace EnableInsideStatusLED - -namespace EnablePrivacyModeButton { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace EnablePrivacyModeButton - -namespace LocalProgrammingFeatures { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) -{ - using Traits = NumericAttributeTraits>; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask value) -{ - using Traits = NumericAttributeTraits>; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); -} - -} // namespace LocalProgrammingFeatures - -namespace WrongCodeEntryLimit { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace WrongCodeEntryLimit - -namespace UserCodeTemporaryDisableTime { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace UserCodeTemporaryDisableTime - -namespace SendPINOverTheAir { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace SendPINOverTheAir - -namespace RequirePINforRemoteOperation { - -EmberAfStatus Get(chip::EndpointId endpoint, bool * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, bool value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -} // namespace RequirePINforRemoteOperation - -namespace ExpiringUserTimeout { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ExpiringUserTimeout - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace DoorLock - -namespace WindowCovering { -namespace Attributes { - -namespace Type { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::WindowCovering::Type * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::WindowCovering::Type value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace Type - -namespace PhysicalClosedLimitLift { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace PhysicalClosedLimitLift - -namespace PhysicalClosedLimitTilt { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace PhysicalClosedLimitTilt - -namespace CurrentPositionLift { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace CurrentPositionLift - -namespace CurrentPositionTilt { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace CurrentPositionTilt - -namespace NumberOfActuationsLift { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace NumberOfActuationsLift - -namespace NumberOfActuationsTilt { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace NumberOfActuationsTilt - -namespace ConfigStatus { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) -{ - using Traits = NumericAttributeTraits>; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask value) -{ - using Traits = NumericAttributeTraits>; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); -} - -} // namespace ConfigStatus - -namespace CurrentPositionLiftPercentage { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::Percent value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace CurrentPositionLiftPercentage - -namespace CurrentPositionTiltPercentage { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::Percent value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace CurrentPositionTiltPercentage - -namespace OperationalStatus { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) -{ - using Traits = NumericAttributeTraits>; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask value) -{ - using Traits = NumericAttributeTraits>; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); -} - -} // namespace OperationalStatus - -namespace TargetPositionLiftPercent100ths { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::Percent100ths value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT100THS_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT100THS_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace TargetPositionLiftPercent100ths - -namespace TargetPositionTiltPercent100ths { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::Percent100ths value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT100THS_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT100THS_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace TargetPositionTiltPercent100ths - -namespace EndProductType { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::WindowCovering::EndProductType * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::WindowCovering::EndProductType value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace EndProductType - -namespace CurrentPositionLiftPercent100ths { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::Percent100ths value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT100THS_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT100THS_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace CurrentPositionLiftPercent100ths - -namespace CurrentPositionTiltPercent100ths { - -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::Percent100ths value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT100THS_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT100THS_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); -} - -} // namespace CurrentPositionTiltPercent100ths - -namespace InstalledOpenLimitLift { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace InstalledOpenLimitLift - -namespace InstalledClosedLimitLift { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace InstalledClosedLimitLift - -namespace InstalledOpenLimitTilt { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace InstalledOpenLimitTilt - -namespace InstalledClosedLimitTilt { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace InstalledClosedLimitTilt - -namespace Mode { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) -{ - using Traits = NumericAttributeTraits>; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask value) -{ - using Traits = NumericAttributeTraits>; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); -} - -} // namespace Mode - -namespace SafetyStatus { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) -{ - using Traits = NumericAttributeTraits>; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask value) -{ - using Traits = NumericAttributeTraits>; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_BITMAP16_ATTRIBUTE_TYPE); -} - -} // namespace SafetyStatus - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} - -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace WindowCovering - -namespace BarrierControl { -namespace Attributes { - -namespace BarrierMovingState { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace BarrierMovingState - -namespace BarrierSafetyStatus { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_BITMAP16_ATTRIBUTE_TYPE); -} - -} // namespace BarrierSafetyStatus - -namespace BarrierCapabilities { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); -} - -} // namespace BarrierCapabilities - -namespace BarrierOpenEvents { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace BarrierOpenEvents - -namespace BarrierCloseEvents { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace BarrierCloseEvents - -namespace BarrierCommandOpenEvents { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace BarrierCommandOpenEvents - -namespace BarrierCommandCloseEvents { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace BarrierCommandCloseEvents - -namespace BarrierOpenPeriod { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace BarrierOpenPeriod - -namespace BarrierClosePeriod { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace BarrierClosePeriod - -namespace BarrierPosition { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace BarrierPosition - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return Set(endpoint, value.Value()); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace BarrierControl - -namespace PumpConfigurationAndControl { -namespace Attributes { +} // namespace ExtendedPanId -namespace MaxPressure { +namespace MeshLocalPrefix { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + uint8_t zclString[17 + 1]; EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { value.SetNull(); + return EMBER_ZCL_STATUS_SUCCESS; } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } + auto & span = value.SetNonNull(); + + VerifyOrReturnError(span.size() == 17, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(span.data(), &zclString[1], 17); + span.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + static_assert(17 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 17, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[17 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, + ZCL_OCTET_STRING_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + uint8_t zclString[1] = { 0xFF }; + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, + ZCL_OCTET_STRING_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -17048,73 +6062,47 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace MaxPressure +} // namespace MeshLocalPrefix -namespace MaxSpeed { +namespace OverrunCount { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else - { - value.SetNonNull() = Traits::StorageToWorking(temp); - } - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; } - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - if (value.IsNull()) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { - return SetNull(endpoint); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - return Set(endpoint, value.Value()); + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace MaxSpeed +} // namespace OverrunCount -namespace MaxFlow { +namespace PartitionId { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -17126,9 +6114,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & val } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -17136,21 +6124,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -17160,17 +6146,16 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace MaxFlow +} // namespace PartitionId -namespace MinConstPressure { +namespace Weighting { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -17182,9 +6167,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & valu } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -17192,21 +6177,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -17216,17 +6199,16 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace MinConstPressure +} // namespace Weighting -namespace MaxConstPressure { +namespace DataVersion { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -17238,9 +6220,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & valu } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -17248,21 +6230,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -17272,17 +6252,16 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace MaxConstPressure +} // namespace DataVersion -namespace MinCompPressure { +namespace StableDataVersion { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -17294,9 +6273,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & valu } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -17304,21 +6283,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -17328,17 +6305,16 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace MinCompPressure +} // namespace StableDataVersion -namespace MaxCompPressure { +namespace LeaderRouterId { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -17350,9 +6326,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & valu } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -17360,21 +6336,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -17384,353 +6358,357 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace MaxCompPressure +} // namespace LeaderRouterId -namespace MinConstSpeed { +namespace DetachedRoleCount { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MinConstSpeed +} // namespace DetachedRoleCount -namespace MaxConstSpeed { +namespace ChildRoleCount { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus SetNull(chip::EndpointId endpoint) +} // namespace ChildRoleCount + +namespace RouterRoleCount { + +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; } - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - if (value.IsNull()) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { - return SetNull(endpoint); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - return Set(endpoint, value.Value()); + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MaxConstSpeed +} // namespace RouterRoleCount -namespace MinConstFlow { +namespace LeaderRoleCount { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus SetNull(chip::EndpointId endpoint) +} // namespace LeaderRoleCount + +namespace AttachAttemptCount { + +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; } - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - if (value.IsNull()) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { - return SetNull(endpoint); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - return Set(endpoint, value.Value()); + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MinConstFlow +} // namespace AttachAttemptCount -namespace MaxConstFlow { +namespace PartitionIdChangeCount { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus SetNull(chip::EndpointId endpoint) +} // namespace PartitionIdChangeCount + +namespace BetterPartitionAttachAttemptCount { + +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; } - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - if (value.IsNull()) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { - return SetNull(endpoint); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - return Set(endpoint, value.Value()); + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MaxConstFlow +} // namespace BetterPartitionAttachAttemptCount -namespace MinConstTemp { +namespace ParentChangeCount { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus SetNull(chip::EndpointId endpoint) +} // namespace ParentChangeCount + +namespace TxTotalCount { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; } - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - if (value.IsNull()) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { - return SetNull(endpoint); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - return Set(endpoint, value.Value()); + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace MinConstTemp +} // namespace TxTotalCount -namespace MaxConstTemp { +namespace TxUnicastCount { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -EmberAfStatus SetNull(chip::EndpointId endpoint) +} // namespace TxUnicastCount + +namespace TxBroadcastCount { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; } - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - if (value.IsNull()) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { - return SetNull(endpoint); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - return Set(endpoint, value.Value()); + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace MaxConstTemp +} // namespace TxBroadcastCount -namespace PumpStatus { +namespace TxAckRequestedCount { -EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -17739,9 +6717,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -17749,21 +6727,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -17772,9 +6748,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurat *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -17782,20 +6758,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurat Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace EffectiveOperationMode +} // namespace TxAckedCount -namespace EffectiveControlMode { +namespace TxNoAckRequestedCount { -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -17804,9 +6779,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurat *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -17814,300 +6789,298 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurat Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace EffectiveControlMode +} // namespace TxNoAckRequestedCount -namespace Capacity { +namespace TxDataCount { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -EmberAfStatus SetNull(chip::EndpointId endpoint) +} // namespace TxDataCount + +namespace TxDataPollCount { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16S_ATTRIBUTE_TYPE); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; } - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - if (value.IsNull()) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { - return SetNull(endpoint); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - return Set(endpoint, value.Value()); + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace Capacity +} // namespace TxDataPollCount -namespace Speed { +namespace TxBeaconCount { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -EmberAfStatus SetNull(chip::EndpointId endpoint) +} // namespace TxBeaconCount + +namespace TxBeaconRequestCount { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; } - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - if (value.IsNull()) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { - return SetNull(endpoint); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - return Set(endpoint, value.Value()); + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace Speed +} // namespace TxBeaconRequestCount -namespace LifetimeRunningHours { +namespace TxOtherCount { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits>; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT24U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -EmberAfStatus SetNull(chip::EndpointId endpoint) +} // namespace TxOtherCount + +namespace TxRetryCount { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits>; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT24U_ATTRIBUTE_TYPE); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; } - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - if (value.IsNull()) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { - return SetNull(endpoint); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - return Set(endpoint, value.Value()); + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace LifetimeRunningHours +} // namespace TxRetryCount -namespace Power { +namespace TxDirectMaxRetryExpiryCount { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits>; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT24U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits>; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT24U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace Power +} // namespace TxDirectMaxRetryExpiryCount -namespace LifetimeEnergyConsumed { +namespace TxIndirectMaxRetryExpiryCount { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -EmberAfStatus SetNull(chip::EndpointId endpoint) +} // namespace TxIndirectMaxRetryExpiryCount + +namespace TxErrCcaCount { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT32U_ATTRIBUTE_TYPE); + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; } - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - if (value.IsNull()) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { - return SetNull(endpoint); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - return Set(endpoint, value.Value()); + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace LifetimeEnergyConsumed +} // namespace TxErrCcaCount -namespace OperationMode { +namespace TxErrAbortCount { -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18116,9 +7089,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurat *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18126,20 +7099,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurat Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace OperationMode +} // namespace TxErrAbortCount -namespace ControlMode { +namespace TxErrBusyChannelCount { -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18148,9 +7120,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurat *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18158,20 +7130,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurat Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace ControlMode +} // namespace TxErrBusyChannelCount -namespace FeatureMap { +namespace RxTotalCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18190,21 +7161,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace RxTotalCount -namespace ClusterRevision { +namespace RxUnicastCount { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18213,9 +7182,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18223,132 +7192,81 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace PumpConfigurationAndControl - -namespace Thermostat { -namespace Attributes { +} // namespace RxUnicastCount -namespace LocalTemperature { +namespace RxBroadcastCount { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace LocalTemperature +} // namespace RxBroadcastCount -namespace OutdoorTemperature { +namespace RxDataCount { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace OutdoorTemperature +} // namespace RxDataCount -namespace Occupancy { +namespace RxDataPollCount { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18357,9 +7275,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18367,19 +7285,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace Occupancy +} // namespace RxDataPollCount -namespace AbsMinHeatSetpointLimit { +namespace RxBeaconCount { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18388,9 +7306,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18398,19 +7316,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace AbsMinHeatSetpointLimit +} // namespace RxBeaconCount -namespace AbsMaxHeatSetpointLimit { +namespace RxBeaconRequestCount { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18419,9 +7337,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18429,19 +7347,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace AbsMaxHeatSetpointLimit +} // namespace RxBeaconRequestCount -namespace AbsMinCoolSetpointLimit { +namespace RxOtherCount { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18450,9 +7368,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18460,19 +7378,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace AbsMinCoolSetpointLimit +} // namespace RxOtherCount -namespace AbsMaxCoolSetpointLimit { +namespace RxAddressFilteredCount { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18481,9 +7399,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18491,19 +7409,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace AbsMaxCoolSetpointLimit +} // namespace RxAddressFilteredCount -namespace PICoolingDemand { +namespace RxDestAddrFilteredCount { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18512,9 +7430,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18522,19 +7440,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace PICoolingDemand +} // namespace RxDestAddrFilteredCount -namespace PIHeatingDemand { +namespace RxDuplicatedCount { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18543,9 +7461,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18553,19 +7471,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace PIHeatingDemand +} // namespace RxDuplicatedCount -namespace HVACSystemTypeConfiguration { +namespace RxErrNoFrameCount { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18574,9 +7492,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18584,19 +7502,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace HVACSystemTypeConfiguration +} // namespace RxErrNoFrameCount -namespace LocalTemperatureCalibration { +namespace RxErrUnknownNeighborCount { -EmberAfStatus Get(chip::EndpointId endpoint, int8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18605,9 +7523,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18615,19 +7533,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, int8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace LocalTemperatureCalibration +} // namespace RxErrUnknownNeighborCount -namespace OccupiedCoolingSetpoint { +namespace RxErrInvalidSrcAddrCount { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18636,9 +7554,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18646,19 +7564,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace OccupiedCoolingSetpoint +} // namespace RxErrInvalidSrcAddrCount -namespace OccupiedHeatingSetpoint { +namespace RxErrSecCount { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18667,9 +7585,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18677,19 +7595,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace OccupiedHeatingSetpoint +} // namespace RxErrSecCount -namespace UnoccupiedCoolingSetpoint { +namespace RxErrFcsCount { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18698,9 +7616,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18708,19 +7626,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace UnoccupiedCoolingSetpoint +} // namespace RxErrFcsCount -namespace UnoccupiedHeatingSetpoint { +namespace RxErrOtherCount { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18729,9 +7647,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18739,143 +7657,229 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace UnoccupiedHeatingSetpoint +} // namespace RxErrOtherCount -namespace MinHeatSetpointLimit { +namespace ActiveTimestamp { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace MinHeatSetpointLimit +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); +} -namespace MaxHeatSetpointLimit { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) + return Set(endpoint, value.Value()); +} + +} // namespace ActiveTimestamp + +namespace PendingTimestamp { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace MaxHeatSetpointLimit +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); +} -namespace MinCoolSetpointLimit { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) + return Set(endpoint, value.Value()); +} + +} // namespace PendingTimestamp + +namespace Delay { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace MinCoolSetpointLimit +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); +} -namespace MaxCoolSetpointLimit { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) + return Set(endpoint, value.Value()); +} + +} // namespace Delay + +namespace ChannelMask { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + uint8_t zclString[4 + 1]; + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + return EMBER_ZCL_STATUS_SUCCESS; } - *value = Traits::StorageToWorking(temp); + auto & span = value.SetNonNull(); + + VerifyOrReturnError(span.size() == 4, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(span.data(), &zclString[1], 4); + span.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + static_assert(4 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 4, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[4 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, + ZCL_OCTET_STRING_ATTRIBUTE_TYPE); +} + +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + uint8_t zclString[1] = { 0xFF }; + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, zclString, + ZCL_OCTET_STRING_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace MaxCoolSetpointLimit +} // namespace ChannelMask -namespace MinSetpointDeadBand { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, int8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18884,9 +7888,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18894,19 +7898,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, int8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace MinSetpointDeadBand +} // namespace FeatureMap -namespace RemoteSensing { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -18915,9 +7919,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -18925,236 +7929,238 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace RemoteSensing +} // namespace ClusterRevision -namespace ControlSequenceOfOperation { +} // namespace Attributes +} // namespace ThreadNetworkDiagnostics -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::Thermostat::ThermostatControlSequence * value) +namespace WiFiNetworkDiagnostics { +namespace Attributes { + +namespace Bssid { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + uint8_t zclString[6 + 1]; + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + return EMBER_ZCL_STATUS_SUCCESS; } - *value = Traits::StorageToWorking(temp); + auto & span = value.SetNonNull(); + + VerifyOrReturnError(span.size() == 6, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(span.data(), &zclString[1], 6); + span.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::Thermostat::ThermostatControlSequence value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value) +{ + static_assert(6 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 6, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[6 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, zclString, + ZCL_OCTET_STRING_ATTRIBUTE_TYPE); +} + +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + uint8_t zclString[1] = { 0xFF }; + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, zclString, + ZCL_OCTET_STRING_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace ControlSequenceOfOperation +} // namespace Bssid -namespace SystemMode { +namespace SecurityType { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::WiFiNetworkDiagnostics::SecurityType value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace SystemMode - -namespace ThermostatRunningMode { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, + const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace ThermostatRunningMode +} // namespace SecurityType -namespace StartOfWeek { +namespace WiFiVersion { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, + DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::WiFiNetworkDiagnostics::WiFiVersionType value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace StartOfWeek - -namespace NumberOfWeeklyTransitions { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, + const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace NumberOfWeeklyTransitions +} // namespace WiFiVersion -namespace NumberOfDailyTransitions { +namespace ChannelNumber { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace NumberOfDailyTransitions - -namespace TemperatureSetpointHold { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace TemperatureSetpointHold +} // namespace ChannelNumber -namespace TemperatureSetpointHoldDuration { +namespace Rssi { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -19166,9 +8172,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & val } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, int8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -19176,38 +8182,69 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT8S_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT8S_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { - return SetNull(endpoint); + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); +} + +} // namespace Rssi + +namespace BeaconLostCount { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - return Set(endpoint, value.Value()); + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace TemperatureSetpointHoldDuration +} // namespace BeaconLostCount -namespace ThermostatProgrammingOperationMode { +namespace BeaconRxCount { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -19216,9 +8253,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -19226,19 +8263,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace ThermostatProgrammingOperationMode +} // namespace BeaconRxCount -namespace ThermostatRunningState { +namespace PacketMulticastRxCount { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -19247,9 +8284,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -19257,19 +8294,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_BITMAP16_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace ThermostatRunningState +} // namespace PacketMulticastRxCount -namespace SetpointChangeSource { +namespace PacketMulticastTxCount { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -19278,9 +8315,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -19288,72 +8325,50 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace SetpointChangeSource +} // namespace PacketMulticastTxCount -namespace SetpointChangeAmount { +namespace PacketUnicastRxCount { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace SetpointChangeAmount +} // namespace PacketUnicastRxCount -namespace SetpointChangeSourceTimestamp { +namespace PacketUnicastTxCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -19372,231 +8387,151 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_EPOCH_S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace SetpointChangeSourceTimestamp +} // namespace PacketUnicastTxCount -namespace OccupiedSetback { +namespace CurrentMaxRate { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace OccupiedSetback +} // namespace CurrentMaxRate -namespace OccupiedSetbackMin { +namespace OverrunCount { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace OccupiedSetbackMin +} // namespace OverrunCount -namespace OccupiedSetbackMax { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace OccupiedSetbackMax +} // namespace FeatureMap -namespace UnoccupiedSetback { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } +} // namespace ClusterRevision - return Set(endpoint, value.Value()); -} +} // namespace Attributes +} // namespace WiFiNetworkDiagnostics -} // namespace UnoccupiedSetback +namespace EthernetNetworkDiagnostics { +namespace Attributes { -namespace UnoccupiedSetbackMin { +namespace PHYRate { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, + DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -19608,9 +8543,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & valu } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::EthernetNetworkDiagnostics::PHYRateType value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -19618,19 +8553,20 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, + const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -19640,16 +8576,17 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace UnoccupiedSetbackMin +} // namespace PHYRate -namespace UnoccupiedSetbackMax { +namespace FullDuplex { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -19661,9 +8598,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & valu } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -19671,19 +8608,21 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, + ZCL_BOOLEAN_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, + ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -19693,78 +8632,17 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace UnoccupiedSetbackMax - -namespace EmergencyHeatDelta { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace EmergencyHeatDelta - -namespace ACType { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace ACType +} // namespace FullDuplex -namespace ACCapacity { +namespace PacketRxCount { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -19773,9 +8651,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -19783,19 +8661,20 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace ACCapacity +} // namespace PacketRxCount -namespace ACRefrigerantType { +namespace PacketTxCount { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -19804,9 +8683,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -19814,19 +8693,20 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace ACRefrigerantType +} // namespace PacketTxCount -namespace ACCompressorType { +namespace TxErrCount { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -19835,9 +8715,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -19845,19 +8725,20 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace ACCompressorType +} // namespace TxErrCount -namespace ACErrorCode { +namespace CollisionCount { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -19866,9 +8747,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -19876,19 +8757,20 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace ACErrorCode +} // namespace CollisionCount -namespace ACLouverPosition { +namespace OverrunCount { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -19897,9 +8779,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -19907,19 +8789,20 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace ACLouverPosition +} // namespace OverrunCount -namespace ACCoilTemperature { +namespace CarrierDetect { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -19931,9 +8814,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & valu } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -19941,19 +8824,21 @@ EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, + ZCL_BOOLEAN_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, + ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -19963,16 +8848,17 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace ACCoilTemperature +} // namespace CarrierDetect -namespace ACCapacityformat { +namespace TimeSinceReset { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -19981,9 +8867,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -19991,10 +8877,10 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace ACCapacityformat +} // namespace TimeSinceReset namespace FeatureMap { @@ -20002,8 +8888,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20022,7 +8909,8 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, + ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -20033,8 +8921,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20053,25 +8942,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace Thermostat +} // namespace EthernetNetworkDiagnostics -namespace FanControl { +namespace TimeSynchronization { namespace Attributes { -namespace FanMode { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::FanControl::FanModeType * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TimeSynchronization::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20080,9 +8969,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::FanControl::Fa *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::FanControl::FanModeType value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -20090,19 +8979,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::FanControl::Fa Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TimeSynchronization::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace FanMode +} // namespace FeatureMap -namespace FanModeSequence { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::FanControl::FanModeSequenceType * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TimeSynchronization::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20111,9 +9000,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::FanControl::Fa *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::FanControl::FanModeSequenceType value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -20121,72 +9010,146 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::FanControl::Fa Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TimeSynchronization::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace FanModeSequence +} // namespace ClusterRevision -namespace PercentSetting { +} // namespace Attributes +} // namespace TimeSynchronization -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +namespace BridgedDeviceBasic { +namespace Attributes { + +namespace VendorName { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); + uint8_t zclString[32 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { - value.SetNull(); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - else + + VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 32); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[32 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); +} + +} // namespace VendorName + +namespace VendorID { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::VendorId * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::VendorId value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, writable, ZCL_VENDOR_ID_ATTRIBUTE_TYPE); } -EmberAfStatus SetNull(chip::EndpointId endpoint) +} // namespace VendorID + +namespace ProductName { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + uint8_t zclString[32 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + + VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 32); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[32 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +} // namespace ProductName + +namespace NodeLabel { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - if (value.IsNull()) + uint8_t zclString[32 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { - return SetNull(endpoint); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - return Set(endpoint, value.Value()); + VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 32); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[32 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace PercentSetting +} // namespace NodeLabel -namespace PercentCurrent { +namespace HardwareVersion { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20195,9 +9158,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -20205,19 +9168,49 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); +} + +} // namespace HardwareVersion + +namespace HardwareVersionString { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +{ + uint8_t zclString[64 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + + VerifyOrReturnError(value.size() == 64, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 64); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(64 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 64, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[64 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace PercentCurrent +} // namespace HardwareVersionString -namespace SpeedMax { +namespace SoftwareVersion { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20226,9 +9219,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -20236,196 +9229,200 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace SpeedMax +} // namespace SoftwareVersion -namespace SpeedSetting { +namespace SoftwareVersionString { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); + uint8_t zclString[64 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + + VerifyOrReturnError(value.size() == 64, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 64); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + static_assert(64 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 64, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[64 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} +} // namespace SoftwareVersionString -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +namespace ManufacturingDate { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - if (value.IsNull()) + uint8_t zclString[16 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { - return SetNull(endpoint); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - return Set(endpoint, value.Value()); + VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 16); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[16 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace SpeedSetting +} // namespace ManufacturingDate -namespace SpeedCurrent { +namespace PartNumber { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); + uint8_t zclString[32 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - *value = Traits::StorageToWorking(temp); + + VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 32); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[32 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace SpeedCurrent +} // namespace PartNumber -namespace RockSupport { +namespace ProductURL { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); + uint8_t zclString[256 + 2]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfLongStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - *value = Traits::StorageToWorking(temp); + + VerifyOrReturnError(value.size() == 256, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[2], 256); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + static_assert(256 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 256, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[256 + 2]; + emberAfCopyInt16u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[2], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, + ZCL_LONG_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace RockSupport +} // namespace ProductURL -namespace RockSetting { +namespace ProductLabel { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); + uint8_t zclString[64 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - *value = Traits::StorageToWorking(temp); + + VerifyOrReturnError(value.size() == 64, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 64); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + static_assert(64 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 64, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[64 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace RockSetting +} // namespace ProductLabel -namespace WindSupport { +namespace SerialNumber { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); + uint8_t zclString[32 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - *value = Traits::StorageToWorking(temp); + + VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 32); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[32 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace WindSupport +} // namespace SerialNumber -namespace WindSetting { +namespace Reachable { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20434,9 +9431,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -20444,10 +9441,40 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace WindSetting +} // namespace Reachable + +namespace UniqueID { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +{ + uint8_t zclString[32 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + + VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 32); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[32 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); +} + +} // namespace UniqueID namespace FeatureMap { @@ -20456,7 +9483,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20475,7 +9502,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -20487,7 +9514,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20506,25 +9533,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace FanControl +} // namespace BridgedDeviceBasic -namespace DehumidificationControl { +namespace Switch { namespace Attributes { -namespace RelativeHumidity { +namespace NumberOfPositions { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Switch::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20543,19 +9570,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Switch::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace RelativeHumidity +} // namespace NumberOfPositions -namespace DehumidificationCooling { +namespace CurrentPosition { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Switch::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20574,19 +9601,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Switch::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace DehumidificationCooling +} // namespace CurrentPosition -namespace RhDehumidificationSetpoint { +namespace MultiPressMax { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Switch::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20605,19 +9632,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Switch::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace RhDehumidificationSetpoint +} // namespace MultiPressMax -namespace RelativeHumidityMode { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Switch::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20626,9 +9653,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -20636,19 +9663,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Switch::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace RelativeHumidityMode +} // namespace FeatureMap -namespace DehumidificationLockout { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Switch::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20657,9 +9684,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -20667,19 +9694,26 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Switch::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace DehumidificationLockout +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace Switch + +namespace AdministratorCommissioning { +namespace Attributes { -namespace DehumidificationHysteresis { +namespace WindowStatus { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20698,19 +9732,20 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace DehumidificationHysteresis +} // namespace WindowStatus -namespace DehumidificationMaxCool { +namespace AdminFabricIndex { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::FabricIndex * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20719,9 +9754,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::FabricIndex value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -20729,19 +9764,21 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, writable, + ZCL_FABRIC_IDX_ATTRIBUTE_TYPE); } -} // namespace DehumidificationMaxCool +} // namespace AdminFabricIndex -namespace RelativeHumidityDisplay { +namespace AdminVendorId { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20750,9 +9787,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -20760,10 +9797,10 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace RelativeHumidityDisplay +} // namespace AdminVendorId namespace FeatureMap { @@ -20771,8 +9808,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20791,7 +9829,8 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, writable, + ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -20802,8 +9841,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20822,26 +9862,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::AdministratorCommissioning::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace DehumidificationControl +} // namespace AdministratorCommissioning -namespace ThermostatUserInterfaceConfiguration { +namespace OperationalCredentials { namespace Attributes { -namespace TemperatureDisplayMode { +namespace SupportedFabrics { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20860,21 +9899,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, writable, - ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace TemperatureDisplayMode +} // namespace SupportedFabrics -namespace KeypadLockout { +namespace CommissionedFabrics { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20893,21 +9930,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, writable, - ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace KeypadLockout +} // namespace CommissionedFabrics -namespace ScheduleProgrammingVisibility { +namespace CurrentFabricIndex { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::FabricIndex * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20916,9 +9951,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::FabricIndex value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -20926,11 +9961,10 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, writable, - ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, writable, ZCL_FABRIC_IDX_ATTRIBUTE_TYPE); } -} // namespace ScheduleProgrammingVisibility +} // namespace CurrentFabricIndex namespace FeatureMap { @@ -20938,9 +9972,8 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20959,8 +9992,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -20971,9 +10003,8 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -20992,57 +10023,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace ThermostatUserInterfaceConfiguration +} // namespace OperationalCredentials -namespace ColorControl { +namespace GroupKeyManagement { namespace Attributes { -namespace CurrentHue { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -} // namespace CurrentHue - -namespace CurrentSaturation { +namespace MaxGroupsPerFabric { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GroupKeyManagement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21051,9 +10050,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -21061,19 +10060,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GroupKeyManagement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace CurrentSaturation +} // namespace MaxGroupsPerFabric -namespace RemainingTime { +namespace MaxGroupKeysPerFabric { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GroupKeyManagement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21092,19 +10091,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GroupKeyManagement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace RemainingTime +} // namespace MaxGroupKeysPerFabric -namespace CurrentX { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GroupKeyManagement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21113,9 +10112,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -21123,19 +10122,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GroupKeyManagement::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace CurrentX +} // namespace FeatureMap -namespace CurrentY { +namespace ClusterRevision { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::GroupKeyManagement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21154,19 +10153,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GroupKeyManagement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace CurrentY +} // namespace ClusterRevision -namespace DriftCompensation { +} // namespace Attributes +} // namespace GroupKeyManagement -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +namespace FixedLabel { +namespace Attributes { + +namespace FeatureMap { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FixedLabel::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21175,9 +10180,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -21185,49 +10190,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace DriftCompensation - -namespace CompensationText { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[254 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 254, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 254); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(254 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 254, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[254 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FixedLabel::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace CompensationText +} // namespace FeatureMap -namespace ColorTemperature { +namespace ClusterRevision { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FixedLabel::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21246,19 +10221,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FixedLabel::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ColorTemperature +} // namespace ClusterRevision -namespace ColorMode { +} // namespace Attributes +} // namespace FixedLabel -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +namespace UserLabel { +namespace Attributes { + +namespace FeatureMap { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::UserLabel::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21267,9 +10248,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -21277,19 +10258,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::UserLabel::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace ColorMode +} // namespace FeatureMap -namespace Options { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::UserLabel::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21298,9 +10279,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -21308,72 +10289,56 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::UserLabel::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Options +} // namespace ClusterRevision -namespace NumberOfPrimaries { +} // namespace Attributes +} // namespace UserLabel -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +namespace ProxyConfiguration { +namespace Attributes { + +namespace FeatureMap { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ProxyConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::ProxyConfiguration::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace NumberOfPrimaries +} // namespace FeatureMap -namespace Primary1X { +namespace ClusterRevision { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ProxyConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21392,19 +10357,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ProxyConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Primary1X +} // namespace ClusterRevision -namespace Primary1Y { +} // namespace Attributes +} // namespace ProxyConfiguration -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +namespace ProxyDiscovery { +namespace Attributes { + +namespace FeatureMap { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ProxyDiscovery::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21413,9 +10384,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -21423,72 +10394,56 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ProxyDiscovery::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace Primary1Y +} // namespace FeatureMap -namespace Primary1Intensity { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ProxyDiscovery::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::ProxyDiscovery::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Primary1Intensity +} // namespace ClusterRevision -namespace Primary2X { +} // namespace Attributes +} // namespace ProxyDiscovery -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +namespace ProxyValid { +namespace Attributes { + +namespace FeatureMap { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ProxyValid::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21497,9 +10452,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -21507,19 +10462,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ProxyValid::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace Primary2X +} // namespace FeatureMap -namespace Primary2Y { +namespace ClusterRevision { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ProxyValid::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21538,72 +10493,56 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ProxyValid::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Primary2Y +} // namespace ClusterRevision -namespace Primary2Intensity { +} // namespace Attributes +} // namespace ProxyValid -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +namespace BooleanState { +namespace Attributes { + +namespace StateValue { + +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BooleanState::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::BooleanState::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace Primary2Intensity +} // namespace StateValue -namespace Primary3X { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BooleanState::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21612,9 +10551,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -21622,19 +10561,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BooleanState::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace Primary3X +} // namespace FeatureMap -namespace Primary3Y { +namespace ClusterRevision { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BooleanState::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21653,19 +10592,55 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BooleanState::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Primary3Y +} // namespace ClusterRevision -namespace Primary3Intensity { +} // namespace Attributes +} // namespace BooleanState -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +namespace ModeSelect { +namespace Attributes { + +namespace Description { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; + uint8_t zclString[32 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + + VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 32); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[32 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); +} + +} // namespace Description + +namespace StandardNamespace { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +{ + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -21677,9 +10652,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & valu } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -21687,19 +10662,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_ENUM16_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_ENUM16_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -21709,16 +10684,16 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace Primary3Intensity +} // namespace StandardNamespace -namespace Primary4X { +namespace CurrentMode { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21727,9 +10702,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -21737,50 +10712,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Primary4X +} // namespace CurrentMode -namespace Primary4Y { +namespace StartUpMode { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Primary4Y +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} -namespace Primary4Intensity { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); +} + +} // namespace StartUpMode + +namespace OnMode { EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -21802,7 +10799,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) @@ -21811,7 +10808,7 @@ EmberAfStatus SetNull(chip::EndpointId endpoint) Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) @@ -21824,16 +10821,16 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace Primary4Intensity +} // namespace OnMode -namespace Primary5X { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21842,9 +10839,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -21852,19 +10849,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace Primary5X +} // namespace FeatureMap -namespace Primary5Y { +namespace ClusterRevision { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21883,19 +10880,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ModeSelect::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Primary5Y +} // namespace ClusterRevision -namespace Primary5Intensity { +} // namespace Attributes +} // namespace ModeSelect -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +namespace DoorLock { +namespace Attributes { + +namespace LockState { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -21907,9 +10910,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & valu } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::DoorLock::DlLockState value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -21917,19 +10920,20 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, + const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -21939,16 +10943,16 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace Primary5Intensity +} // namespace LockState -namespace Primary6X { +namespace LockType { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::DoorLock::DlLockType * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21957,9 +10961,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::DoorLock::DlLockType value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -21967,19 +10971,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace Primary6X +} // namespace LockType -namespace Primary6Y { +namespace ActuatorEnabled { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -21988,9 +10992,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -21998,19 +11002,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace Primary6Y +} // namespace ActuatorEnabled -namespace Primary6Intensity { +namespace DoorState { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -22022,9 +11026,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & valu } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::DoorLock::DlDoorState value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22032,19 +11036,20 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, + const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -22054,16 +11059,16 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace Primary6Intensity +} // namespace DoorState -namespace WhitePointX { +namespace DoorOpenEvents { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22072,9 +11077,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22082,19 +11087,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace WhitePointX +} // namespace DoorOpenEvents -namespace WhitePointY { +namespace DoorClosedEvents { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22103,9 +11108,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22113,19 +11118,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace WhitePointY +} // namespace DoorClosedEvents -namespace ColorPointRX { +namespace OpenPeriod { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22144,19 +11149,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ColorPointRX +} // namespace OpenPeriod -namespace ColorPointRY { +namespace NumberOfTotalUsersSupported { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22175,72 +11180,50 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ColorPointRY +} // namespace NumberOfTotalUsersSupported -namespace ColorPointRIntensity { +namespace NumberOfPINUsersSupported { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ColorPointRIntensity +} // namespace NumberOfPINUsersSupported -namespace ColorPointGX { +namespace NumberOfRFIDUsersSupported { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22259,19 +11242,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ColorPointGX +} // namespace NumberOfRFIDUsersSupported -namespace ColorPointGY { +namespace NumberOfWeekDaySchedulesSupportedPerUser { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22280,9 +11263,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22290,72 +11273,81 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ColorPointGY +} // namespace NumberOfWeekDaySchedulesSupportedPerUser -namespace ColorPointGIntensity { +namespace NumberOfYearDaySchedulesSupportedPerUser { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -EmberAfStatus SetNull(chip::EndpointId endpoint) +} // namespace NumberOfYearDaySchedulesSupportedPerUser + +namespace NumberOfHolidaySchedulesSupported { + +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; } - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - if (value.IsNull()) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { - return SetNull(endpoint); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - return Set(endpoint, value.Value()); + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ColorPointGIntensity +} // namespace NumberOfHolidaySchedulesSupported -namespace ColorPointBX { +namespace MaxPINCodeLength { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22364,9 +11356,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22374,19 +11366,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ColorPointBX +} // namespace MaxPINCodeLength -namespace ColorPointBY { +namespace MinPINCodeLength { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22395,9 +11387,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22405,72 +11397,81 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ColorPointBY +} // namespace MinPINCodeLength -namespace ColorPointBIntensity { +namespace MaxRFIDCodeLength { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -EmberAfStatus SetNull(chip::EndpointId endpoint) +} // namespace MaxRFIDCodeLength + +namespace MinRFIDCodeLength { + +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; } - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - if (value.IsNull()) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { - return SetNull(endpoint); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - return Set(endpoint, value.Value()); + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ColorPointBIntensity +} // namespace MinRFIDCodeLength -namespace EnhancedCurrentHue { +namespace CredentialRulesSupport { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22479,9 +11480,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22489,19 +11490,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace EnhancedCurrentHue +} // namespace CredentialRulesSupport -namespace EnhancedColorMode { +namespace NumberOfCredentialsSupportedPerUser { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22520,19 +11521,49 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace EnhancedColorMode +} // namespace NumberOfCredentialsSupportedPerUser -namespace ColorLoopActive { +namespace Language { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +{ + uint8_t zclString[3 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + + VerifyOrReturnError(value.size() == 3, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 3); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(3 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 3, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[3 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); +} + +} // namespace Language + +namespace LEDSettings { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22551,19 +11582,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ColorLoopActive +} // namespace LEDSettings -namespace ColorLoopDirection { +namespace AutoRelockTime { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22572,9 +11603,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22582,19 +11613,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace ColorLoopDirection +} // namespace AutoRelockTime -namespace ColorLoopTime { +namespace SoundVolume { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22603,9 +11634,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22613,19 +11644,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ColorLoopTime +} // namespace SoundVolume -namespace ColorLoopStartEnhancedHue { +namespace OperatingMode { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::DoorLock::DlOperatingMode * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22634,9 +11665,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::DoorLock::DlOperatingMode value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22644,19 +11675,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace ColorLoopStartEnhancedHue +} // namespace OperatingMode -namespace ColorLoopStoredEnhancedHue { +namespace SupportedOperatingModes { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22665,9 +11696,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22675,19 +11706,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BITMAP16_ATTRIBUTE_TYPE); } -} // namespace ColorLoopStoredEnhancedHue +} // namespace SupportedOperatingModes -namespace ColorCapabilities { +namespace DefaultConfigurationRegister { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22696,9 +11727,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22706,19 +11737,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_BITMAP16_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BITMAP16_ATTRIBUTE_TYPE); } -} // namespace ColorCapabilities +} // namespace DefaultConfigurationRegister -namespace ColorTempPhysicalMinMireds { +namespace EnableLocalProgramming { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22727,9 +11758,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22737,19 +11768,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace ColorTempPhysicalMinMireds +} // namespace EnableLocalProgramming -namespace ColorTempPhysicalMaxMireds { +namespace EnableOneTouchLocking { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22758,9 +11789,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22768,19 +11799,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace ColorTempPhysicalMaxMireds +} // namespace EnableOneTouchLocking -namespace CoupleColorTempToLevelMinMireds { +namespace EnableInsideStatusLED { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22789,9 +11820,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22799,19 +11830,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace CoupleColorTempToLevelMinMireds +} // namespace EnableInsideStatusLED -namespace StartUpColorTemperatureMireds { +namespace EnablePrivacyModeButton { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22820,9 +11851,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22830,19 +11861,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace StartUpColorTemperatureMireds +} // namespace EnablePrivacyModeButton -namespace FeatureMap { +namespace LocalProgrammingFeatures { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22851,9 +11882,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22861,19 +11892,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace LocalProgrammingFeatures -namespace ClusterRevision { +namespace WrongCodeEntryLimit { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22882,9 +11913,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22892,25 +11923,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ColorControl - -namespace BallastConfiguration { -namespace Attributes { +} // namespace WrongCodeEntryLimit -namespace PhysicalMinLevel { +namespace UserCodeTemporaryDisableTime { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22929,19 +11954,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace PhysicalMinLevel +} // namespace UserCodeTemporaryDisableTime -namespace PhysicalMaxLevel { +namespace SendPINOverTheAir { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22950,9 +11975,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22960,19 +11985,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace PhysicalMaxLevel +} // namespace SendPINOverTheAir -namespace BallastStatus { +namespace RequirePINforRemoteOperation { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, bool * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -22981,9 +12006,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, bool value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -22991,19 +12016,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } -} // namespace BallastStatus +} // namespace RequirePINforRemoteOperation -namespace MinLevel { +namespace ExpiringUserTimeout { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -23012,9 +12037,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -23022,19 +12047,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MinLevel +} // namespace ExpiringUserTimeout -namespace MaxLevel { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -23043,9 +12068,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -23053,125 +12078,87 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace MaxLevel +} // namespace FeatureMap -namespace IntrinsicBalanceFactor { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } +} // namespace ClusterRevision - return Set(endpoint, value.Value()); -} +} // namespace Attributes +} // namespace DoorLock -} // namespace IntrinsicBalanceFactor +namespace WindowCovering { +namespace Attributes { -namespace BallastFactorAdjustment { +namespace Type { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::WindowCovering::Type * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::WindowCovering::Type value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace BallastFactorAdjustment +} // namespace Type -namespace LampQuantity { +namespace PhysicalClosedLimitLift { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -23180,9 +12167,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -23190,81 +12177,50 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace LampQuantity +} // namespace PhysicalClosedLimitLift -namespace LampType { +namespace PhysicalClosedLimitTilt { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - uint8_t zclString[16 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, zclString, sizeof(zclString)); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace LampType - -namespace LampManufacturer { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - uint8_t zclString[16 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace LampManufacturer +} // namespace PhysicalClosedLimitTilt -namespace LampRatedHours { +namespace CurrentPositionLift { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -23276,9 +12232,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & val } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -23286,19 +12242,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT24U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT24U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -23308,16 +12264,16 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace LampRatedHours +} // namespace CurrentPositionLift -namespace LampBurnHours { +namespace CurrentPositionTilt { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -23329,9 +12285,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & val } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -23339,19 +12295,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT24U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT24U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -23361,16 +12317,16 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace LampBurnHours +} // namespace CurrentPositionTilt -namespace LampAlarmMode { +namespace NumberOfActuationsLift { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -23379,9 +12335,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -23389,19 +12345,81 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace LampAlarmMode +} // namespace NumberOfActuationsLift -namespace LampBurnHoursTripPoint { +namespace NumberOfActuationsTilt { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); +} + +} // namespace NumberOfActuationsTilt + +namespace ConfigStatus { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) +{ + using Traits = NumericAttributeTraits>; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask value) +{ + using Traits = NumericAttributeTraits>; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); +} + +} // namespace ConfigStatus + +namespace CurrentPositionLiftPercentage { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -23413,9 +12431,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & val } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::Percent value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -23423,19 +12441,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT24U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT24U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -23445,47 +12463,69 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace LampBurnHoursTripPoint +} // namespace CurrentPositionLiftPercentage -namespace FeatureMap { +namespace CurrentPositionTiltPercentage { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::Percent value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT_ATTRIBUTE_TYPE); +} + +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); } -} // namespace FeatureMap +} // namespace CurrentPositionTiltPercentage -namespace ClusterRevision { +namespace OperationalStatus { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -23494,9 +12534,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -23504,25 +12544,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace BallastConfiguration - -namespace IlluminanceMeasurement { -namespace Attributes { +} // namespace OperationalStatus -namespace MeasuredValue { +namespace TargetPositionLiftPercent100ths { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -23534,9 +12568,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & val } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::Percent100ths value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -23544,19 +12578,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT100THS_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT100THS_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -23566,16 +12600,16 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace MeasuredValue +} // namespace TargetPositionLiftPercent100ths -namespace MinMeasuredValue { +namespace TargetPositionTiltPercent100ths { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -23587,9 +12621,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & val } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::Percent100ths value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -23597,19 +12631,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT100THS_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT100THS_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -23619,16 +12653,47 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace MinMeasuredValue +} // namespace TargetPositionTiltPercent100ths -namespace MaxMeasuredValue { +namespace EndProductType { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::WindowCovering::EndProductType * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::WindowCovering::EndProductType value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); +} + +} // namespace EndProductType + +namespace CurrentPositionLiftPercent100ths { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -23640,9 +12705,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & val } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::Percent100ths value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -23650,19 +12715,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT100THS_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT100THS_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -23672,47 +12737,16 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace MaxMeasuredValue - -namespace Tolerance { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace Tolerance +} // namespace CurrentPositionLiftPercent100ths -namespace LightSensorType { +namespace CurrentPositionTiltPercent100ths { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -23724,9 +12758,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & valu } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::Percent100ths value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -23734,19 +12768,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT100THS_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_PERCENT100THS_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -23756,16 +12790,16 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace LightSensorType +} // namespace CurrentPositionTiltPercent100ths -namespace FeatureMap { +namespace InstalledOpenLimitLift { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -23774,9 +12808,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -23784,19 +12818,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace InstalledOpenLimitLift -namespace ClusterRevision { +namespace InstalledClosedLimitLift { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -23815,184 +12849,112 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace IlluminanceMeasurement - -namespace TemperatureMeasurement { -namespace Attributes { +} // namespace InstalledClosedLimitLift -namespace MeasuredValue { +namespace InstalledOpenLimitTilt { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace InstalledOpenLimitTilt -namespace MinMeasuredValue { +namespace InstalledClosedLimitTilt { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace InstalledClosedLimitTilt -namespace MaxMeasuredValue { +namespace Mode { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits>; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace Mode -namespace Tolerance { +namespace SafetyStatus { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -24001,9 +12963,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -24011,10 +12973,10 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_BITMAP16_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace SafetyStatus namespace FeatureMap { @@ -24023,7 +12985,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -24042,7 +13004,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -24054,7 +13016,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -24073,184 +13035,118 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace TemperatureMeasurement +} // namespace WindowCovering -namespace PressureMeasurement { +namespace BarrierControl { namespace Attributes { -namespace MeasuredValue { +namespace BarrierMovingState { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace BarrierMovingState -namespace MinMeasuredValue { +namespace BarrierSafetyStatus { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_BITMAP16_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace BarrierSafetyStatus -namespace MaxMeasuredValue { +namespace BarrierCapabilities { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace BarrierCapabilities -namespace Tolerance { +namespace BarrierOpenEvents { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -24269,178 +13165,143 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace BarrierOpenEvents -namespace ScaledValue { +namespace BarrierCloseEvents { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ScaledValue +} // namespace BarrierCloseEvents -namespace MinScaledValue { +namespace BarrierCommandOpenEvents { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MinScaledValue +} // namespace BarrierCommandOpenEvents -namespace MaxScaledValue { +namespace BarrierCommandCloseEvents { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus SetNull(chip::EndpointId endpoint) +} // namespace BarrierCommandCloseEvents + +namespace BarrierOpenPeriod { + +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; } - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - if (value.IsNull()) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { - return SetNull(endpoint); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - return Set(endpoint, value.Value()); + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MaxScaledValue +} // namespace BarrierOpenPeriod -namespace ScaledTolerance { +namespace BarrierClosePeriod { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -24459,19 +13320,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ScaledTolerance +} // namespace BarrierClosePeriod -namespace Scale { +namespace BarrierPosition { -EmberAfStatus Get(chip::EndpointId endpoint, int8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -24480,9 +13341,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -24490,10 +13351,10 @@ EmberAfStatus Set(chip::EndpointId endpoint, int8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT8S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Scale +} // namespace BarrierPosition namespace FeatureMap { @@ -24502,7 +13363,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -24521,7 +13382,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -24533,7 +13394,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -24542,35 +13403,92 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); +} + +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace BarrierControl + +namespace PumpConfigurationAndControl { +namespace Attributes { + +namespace MaxPressure { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (Traits::IsNullValue(temp)) + { + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); + } + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16S_ATTRIBUTE_TYPE); +} + +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16S_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision -} // namespace Attributes -} // namespace PressureMeasurement + return Set(endpoint, value.Value()); +} -namespace FlowMeasurement { -namespace Attributes { +} // namespace MaxPressure -namespace MeasuredValue { +namespace MaxSpeed { EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -24592,7 +13510,8 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16U_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) @@ -24601,7 +13520,8 @@ EmberAfStatus SetNull(chip::EndpointId endpoint) Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16U_ATTRIBUTE_TYPE); } EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) @@ -24614,16 +13534,17 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace MeasuredValue +} // namespace MaxSpeed -namespace MinMeasuredValue { +namespace MaxFlow { EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -24645,7 +13566,8 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16U_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) @@ -24654,7 +13576,8 @@ EmberAfStatus SetNull(chip::EndpointId endpoint) Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16U_ATTRIBUTE_TYPE); } EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) @@ -24667,16 +13590,17 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace MinMeasuredValue +} // namespace MaxFlow -namespace MaxMeasuredValue { +namespace MinConstPressure { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -24688,9 +13612,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & val } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -24698,19 +13622,21 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16S_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16S_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -24720,108 +13646,177 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace MaxMeasuredValue +} // namespace MinConstPressure -namespace Tolerance { +namespace MaxConstPressure { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace Tolerance +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16S_ATTRIBUTE_TYPE); +} -namespace FeatureMap { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) + return Set(endpoint, value.Value()); +} + +} // namespace MaxConstPressure + +namespace MinCompPressure { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16S_ATTRIBUTE_TYPE); +} -namespace ClusterRevision { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) + return Set(endpoint, value.Value()); +} + +} // namespace MinCompPressure + +namespace MaxCompPressure { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16S_ATTRIBUTE_TYPE); +} -} // namespace Attributes -} // namespace FlowMeasurement +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -namespace RelativeHumidityMeasurement { -namespace Attributes { + return Set(endpoint, value.Value()); +} -namespace MeasuredValue { +} // namespace MaxCompPressure + +namespace MinConstSpeed { EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { @@ -24829,7 +13824,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & val Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -24851,7 +13846,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -24861,7 +13856,7 @@ EmberAfStatus SetNull(chip::EndpointId endpoint) Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -24875,9 +13870,9 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace MeasuredValue +} // namespace MinConstSpeed -namespace MinMeasuredValue { +namespace MaxConstSpeed { EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { @@ -24885,7 +13880,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & val Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -24907,7 +13902,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -24917,7 +13912,7 @@ EmberAfStatus SetNull(chip::EndpointId endpoint) Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -24931,9 +13926,9 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace MinMeasuredValue +} // namespace MaxConstSpeed -namespace MaxMeasuredValue { +namespace MinConstFlow { EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { @@ -24941,7 +13936,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & val Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -24963,7 +13958,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -24973,7 +13968,7 @@ EmberAfStatus SetNull(chip::EndpointId endpoint) Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -24987,276 +13982,185 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace MaxMeasuredValue +} // namespace MinConstFlow -namespace Tolerance { +namespace MaxConstFlow { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Tolerance - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace FeatureMap +} // namespace MaxConstFlow -namespace ClusterRevision { +namespace MinConstTemp { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace RelativeHumidityMeasurement - -namespace OccupancySensing { -namespace Attributes { - -namespace Occupancy { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + else { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace Occupancy - -namespace OccupancySensorType { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16S_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace OccupancySensorType +} // namespace MinConstTemp -namespace OccupancySensorTypeBitmap { +namespace MaxConstTemp { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); -} - -} // namespace OccupancySensorTypeBitmap - -namespace PirOccupiedToUnoccupiedDelay { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + else { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace PirOccupiedToUnoccupiedDelay - -namespace PirUnoccupiedToOccupiedDelay { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16S_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace PirUnoccupiedToOccupiedDelay +} // namespace MaxConstTemp -namespace PirUnoccupiedToOccupiedThreshold { +namespace PumpStatus { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitMask * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -25265,9 +14169,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitMask value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -25275,19 +14179,21 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_BITMAP16_ATTRIBUTE_TYPE); } -} // namespace PirUnoccupiedToOccupiedThreshold +} // namespace PumpStatus -namespace UltrasonicOccupiedToUnoccupiedDelay { +namespace EffectiveOperationMode { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -25296,9 +14202,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -25306,19 +14212,20 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace UltrasonicOccupiedToUnoccupiedDelay +} // namespace EffectiveOperationMode -namespace UltrasonicUnoccupiedToOccupiedDelay { +namespace EffectiveControlMode { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -25327,9 +14234,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -25337,278 +14244,300 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace UltrasonicUnoccupiedToOccupiedDelay +} // namespace EffectiveControlMode -namespace UltrasonicUnoccupiedToOccupiedThreshold { +namespace Capacity { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace UltrasonicUnoccupiedToOccupiedThreshold - -namespace PhysicalContactOccupiedToUnoccupiedDelay { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16S_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace PhysicalContactOccupiedToUnoccupiedDelay +} // namespace Capacity -namespace PhysicalContactUnoccupiedToOccupiedDelay { +namespace Speed { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace PhysicalContactUnoccupiedToOccupiedDelay - -namespace PhysicalContactUnoccupiedToOccupiedThreshold { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace PhysicalContactUnoccupiedToOccupiedThreshold +} // namespace Speed -namespace FeatureMap { +namespace LifetimeRunningHours { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits>; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT24U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + using Traits = NumericAttributeTraits>; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT24U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -} // namespace Attributes -} // namespace OccupancySensing + return Set(endpoint, value.Value()); +} -namespace CarbonMonoxideConcentrationMeasurement { -namespace Attributes { +} // namespace LifetimeRunningHours -namespace MeasuredValue { +namespace Power { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits>; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT24U_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits>; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT24U_ATTRIBUTE_TYPE); +} -namespace MinMeasuredValue { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, float * value) + return Set(endpoint, value.Value()); +} + +} // namespace Power + +namespace LifetimeEnergyConsumed { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT32U_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, + ZCL_INT32U_ATTRIBUTE_TYPE); +} -namespace MaxMeasuredValue { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, float * value) + return Set(endpoint, value.Value()); +} + +} // namespace LifetimeEnergyConsumed + +namespace OperationMode { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -25617,9 +14546,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -25627,21 +14556,20 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace OperationMode -namespace Tolerance { +namespace ControlMode { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -25650,9 +14578,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -25660,11 +14588,10 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace ControlMode namespace FeatureMap { @@ -25674,7 +14601,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -25693,7 +14620,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, writable, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } @@ -25707,7 +14634,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -25726,126 +14653,132 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, writable, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace CarbonMonoxideConcentrationMeasurement +} // namespace PumpConfigurationAndControl -namespace CarbonDioxideConcentrationMeasurement { +namespace Thermostat { namespace Attributes { -namespace MeasuredValue { +namespace LocalTemperature { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue - -namespace MinMeasuredValue { - -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, float value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace MinMeasuredValue +} // namespace LocalTemperature -namespace MaxMeasuredValue { +namespace OutdoorTemperature { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); +} -namespace Tolerance { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, float * value) + return Set(endpoint, value.Value()); +} + +} // namespace OutdoorTemperature + +namespace Occupancy { + +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -25854,9 +14787,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -25864,21 +14797,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace Occupancy -namespace FeatureMap { +namespace AbsMinHeatSetpointLimit { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -25887,9 +14818,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -25897,21 +14828,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace AbsMinHeatSetpointLimit -namespace ClusterRevision { +namespace AbsMaxHeatSetpointLimit { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -25920,9 +14849,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -25930,27 +14859,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace CarbonDioxideConcentrationMeasurement - -namespace EthyleneConcentrationMeasurement { -namespace Attributes { +} // namespace AbsMaxHeatSetpointLimit -namespace MeasuredValue { +namespace AbsMinCoolSetpointLimit { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -25959,9 +14880,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -25969,21 +14890,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace AbsMinCoolSetpointLimit -namespace MinMeasuredValue { +namespace AbsMaxCoolSetpointLimit { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -25992,9 +14911,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26002,21 +14921,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace AbsMaxCoolSetpointLimit -namespace MaxMeasuredValue { +namespace PICoolingDemand { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26025,9 +14942,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26035,21 +14952,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace PICoolingDemand -namespace Tolerance { +namespace PIHeatingDemand { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26058,9 +14973,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26068,21 +14983,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace PIHeatingDemand -namespace FeatureMap { +namespace HVACSystemTypeConfiguration { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26091,9 +15004,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26101,21 +15014,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace HVACSystemTypeConfiguration -namespace ClusterRevision { +namespace LocalTemperatureCalibration { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, int8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26124,9 +15035,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, int8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26134,27 +15045,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8S_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace EthyleneConcentrationMeasurement - -namespace EthyleneOxideConcentrationMeasurement { -namespace Attributes { +} // namespace LocalTemperatureCalibration -namespace MeasuredValue { +namespace OccupiedCoolingSetpoint { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26163,9 +15066,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26173,21 +15076,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace OccupiedCoolingSetpoint -namespace MinMeasuredValue { +namespace OccupiedHeatingSetpoint { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26196,9 +15097,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26206,21 +15107,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace OccupiedHeatingSetpoint -namespace MaxMeasuredValue { +namespace UnoccupiedCoolingSetpoint { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26229,9 +15128,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26239,21 +15138,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace UnoccupiedCoolingSetpoint -namespace Tolerance { +namespace UnoccupiedHeatingSetpoint { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26262,9 +15159,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26272,21 +15169,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace UnoccupiedHeatingSetpoint -namespace FeatureMap { +namespace MinHeatSetpointLimit { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26295,9 +15190,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26305,21 +15200,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace MinHeatSetpointLimit -namespace ClusterRevision { +namespace MaxHeatSetpointLimit { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26328,9 +15221,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26338,27 +15231,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace EthyleneOxideConcentrationMeasurement - -namespace HydrogenConcentrationMeasurement { -namespace Attributes { +} // namespace MaxHeatSetpointLimit -namespace MeasuredValue { +namespace MinCoolSetpointLimit { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26367,9 +15252,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26377,21 +15262,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace MinCoolSetpointLimit -namespace MinMeasuredValue { +namespace MaxCoolSetpointLimit { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26400,9 +15283,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26410,21 +15293,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace MaxCoolSetpointLimit -namespace MaxMeasuredValue { +namespace MinSetpointDeadBand { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, int8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26433,9 +15314,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26443,21 +15324,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8S_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace MinSetpointDeadBand -namespace Tolerance { +namespace RemoteSensing { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26466,9 +15345,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26476,21 +15355,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace RemoteSensing -namespace FeatureMap { +namespace ControlSequenceOfOperation { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::Thermostat::ThermostatControlSequence * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26499,9 +15376,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::Thermostat::ThermostatControlSequence value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26509,21 +15386,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace ControlSequenceOfOperation -namespace ClusterRevision { +namespace SystemMode { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26532,9 +15407,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26542,27 +15417,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace HydrogenConcentrationMeasurement - -namespace HydrogenSulphideConcentrationMeasurement { -namespace Attributes { +} // namespace SystemMode -namespace MeasuredValue { +namespace ThermostatRunningMode { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26571,9 +15438,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26581,21 +15448,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace ThermostatRunningMode -namespace MinMeasuredValue { +namespace StartOfWeek { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26604,9 +15469,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26614,21 +15479,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace StartOfWeek -namespace MaxMeasuredValue { +namespace NumberOfWeeklyTransitions { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26637,9 +15500,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26647,21 +15510,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace NumberOfWeeklyTransitions -namespace Tolerance { +namespace NumberOfDailyTransitions { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26670,9 +15531,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26680,21 +15541,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace NumberOfDailyTransitions -namespace FeatureMap { +namespace TemperatureSetpointHold { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26703,9 +15562,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26713,60 +15572,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace TemperatureSetpointHold -namespace ClusterRevision { +namespace TemperatureSetpointHoldDuration { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); +} -} // namespace Attributes -} // namespace HydrogenSulphideConcentrationMeasurement +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -namespace NitricOxideConcentrationMeasurement { -namespace Attributes { + return Set(endpoint, value.Value()); +} -namespace MeasuredValue { +} // namespace TemperatureSetpointHoldDuration -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +namespace ThermostatProgrammingOperationMode { + +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26775,9 +15646,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26785,21 +15656,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace ThermostatProgrammingOperationMode -namespace MinMeasuredValue { +namespace ThermostatRunningState { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26808,9 +15677,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26818,21 +15687,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_BITMAP16_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace ThermostatRunningState -namespace MaxMeasuredValue { +namespace SetpointChangeSource { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26841,9 +15708,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -26851,54 +15718,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace SetpointChangeSource -namespace Tolerance { +namespace SetpointChangeAmount { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace Tolerance +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); +} -namespace FeatureMap { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); +} + +} // namespace SetpointChangeAmount + +namespace SetpointChangeSourceTimestamp { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -26917,297 +15802,337 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_EPOCH_S_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace SetpointChangeSourceTimestamp -namespace ClusterRevision { +namespace OccupiedSetback { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} -} // namespace Attributes -} // namespace NitricOxideConcentrationMeasurement +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -namespace NitrogenDioxideConcentrationMeasurement { -namespace Attributes { + return Set(endpoint, value.Value()); +} -namespace MeasuredValue { +} // namespace OccupiedSetback -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +namespace OccupiedSetbackMin { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue - -namespace MinMeasuredValue { - -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, float value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace MinMeasuredValue +} // namespace OccupiedSetbackMin -namespace MaxMeasuredValue { +namespace OccupiedSetbackMax { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} + +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); } -} // namespace MaxMeasuredValue +} // namespace OccupiedSetbackMax -namespace Tolerance { +namespace UnoccupiedSetback { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Tolerance - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace FeatureMap +} // namespace UnoccupiedSetback -namespace ClusterRevision { +namespace UnoccupiedSetbackMin { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} -} // namespace Attributes -} // namespace NitrogenDioxideConcentrationMeasurement +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -namespace OxygenConcentrationMeasurement { -namespace Attributes { + return Set(endpoint, value.Value()); +} -namespace MeasuredValue { +} // namespace UnoccupiedSetbackMin -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +namespace UnoccupiedSetbackMax { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} -namespace MinMeasuredValue { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, float * value) + return Set(endpoint, value.Value()); +} + +} // namespace UnoccupiedSetbackMax + +namespace EmergencyHeatDelta { + +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27216,9 +16141,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -27226,21 +16151,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace EmergencyHeatDelta -namespace MaxMeasuredValue { +namespace ACType { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27249,9 +16172,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -27259,21 +16182,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace ACType -namespace Tolerance { +namespace ACCapacity { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27282,9 +16203,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -27292,21 +16213,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace ACCapacity -namespace FeatureMap { +namespace ACRefrigerantType { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27315,9 +16234,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -27325,21 +16244,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace ACRefrigerantType -namespace ClusterRevision { +namespace ACCompressorType { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27348,9 +16265,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -27358,27 +16275,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace OxygenConcentrationMeasurement - -namespace OzoneConcentrationMeasurement { -namespace Attributes { +} // namespace ACCompressorType -namespace MeasuredValue { +namespace ACErrorCode { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27387,9 +16296,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -27397,21 +16306,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace ACErrorCode -namespace MinMeasuredValue { +namespace ACLouverPosition { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27420,9 +16327,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -27430,54 +16337,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace ACLouverPosition -namespace MaxMeasuredValue { +namespace ACCoilTemperature { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); +} -namespace Tolerance { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, float * value) + return Set(endpoint, value.Value()); +} + +} // namespace ACCoilTemperature + +namespace ACCapacityformat { + +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27486,9 +16411,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -27496,11 +16421,10 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace ACCapacityformat namespace FeatureMap { @@ -27508,9 +16432,8 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27529,8 +16452,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -27541,9 +16463,8 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27562,27 +16483,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace OzoneConcentrationMeasurement +} // namespace Thermostat -namespace SulfurDioxideConcentrationMeasurement { +namespace FanControl { namespace Attributes { -namespace MeasuredValue { +namespace FanMode { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::FanControl::FanModeType * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27591,9 +16510,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::FanControl::FanModeType value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -27601,21 +16520,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace FanMode -namespace MinMeasuredValue { +namespace FanModeSequence { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::FanControl::FanModeSequenceType * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27624,9 +16541,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::FanControl::FanModeSequenceType value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -27634,21 +16551,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace FanModeSequence -namespace MaxMeasuredValue { +namespace PercentSetting { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (Traits::IsNullValue(temp)) + { + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); + } + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} + +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); +} + +} // namespace PercentSetting + +namespace PercentCurrent { + +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27657,9 +16625,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -27667,21 +16635,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace PercentCurrent -namespace Tolerance { +namespace SpeedMax { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27690,64 +16656,82 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} + +} // namespace SpeedMax + +namespace SpeedSetting { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (Traits::IsNullValue(temp)) + { + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); + } + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Tolerance - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace FeatureMap +} // namespace SpeedSetting -namespace ClusterRevision { +namespace SpeedCurrent { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27756,9 +16740,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -27766,27 +16750,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace SulfurDioxideConcentrationMeasurement - -namespace DissolvedOxygenConcentrationMeasurement { -namespace Attributes { +} // namespace SpeedCurrent -namespace MeasuredValue { +namespace RockSupport { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27795,9 +16771,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -27805,21 +16781,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace RockSupport -namespace MinMeasuredValue { +namespace RockSetting { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27828,9 +16802,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -27838,21 +16812,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace RockSetting -namespace MaxMeasuredValue { +namespace WindSupport { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27861,9 +16833,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -27871,21 +16843,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace WindSupport -namespace Tolerance { +namespace WindSetting { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27894,9 +16864,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -27904,11 +16874,10 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace WindSetting namespace FeatureMap { @@ -27916,9 +16885,8 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27937,8 +16905,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -27949,9 +16916,8 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -27970,60 +16936,26 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace DissolvedOxygenConcentrationMeasurement +} // namespace FanControl -namespace BromateConcentrationMeasurement { +namespace ThermostatUserInterfaceConfiguration { namespace Attributes { -namespace MeasuredValue { - -EmberAfStatus Get(chip::EndpointId endpoint, float * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, float value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); -} - -} // namespace MeasuredValue - -namespace MinMeasuredValue { +namespace TemperatureDisplayMode { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28032,9 +16964,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28042,21 +16974,21 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, writable, + ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace TemperatureDisplayMode -namespace MaxMeasuredValue { +namespace KeypadLockout { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28065,9 +16997,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28075,21 +17007,21 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, writable, + ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace KeypadLockout -namespace Tolerance { +namespace ScheduleProgrammingVisibility { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28098,9 +17030,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28108,11 +17040,11 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, writable, + ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace ScheduleProgrammingVisibility namespace FeatureMap { @@ -28122,7 +17054,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28141,7 +17073,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, writable, + return emberAfWriteServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } @@ -28155,7 +17087,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28174,27 +17106,26 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, writable, + return emberAfWriteServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace BromateConcentrationMeasurement +} // namespace ThermostatUserInterfaceConfiguration -namespace ChloraminesConcentrationMeasurement { +namespace ColorControl { namespace Attributes { -namespace MeasuredValue { +namespace CurrentHue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28203,9 +17134,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28213,21 +17144,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace CurrentHue -namespace MinMeasuredValue { +namespace CurrentSaturation { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28236,9 +17165,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28246,21 +17175,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace CurrentSaturation -namespace MaxMeasuredValue { +namespace RemainingTime { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28269,9 +17196,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28279,21 +17206,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace RemainingTime -namespace Tolerance { +namespace CurrentX { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28302,9 +17227,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28312,21 +17237,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace CurrentX -namespace FeatureMap { +namespace CurrentY { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28335,9 +17258,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28345,21 +17268,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace CurrentY -namespace ClusterRevision { +namespace DriftCompensation { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28368,9 +17289,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28378,27 +17299,49 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision +} // namespace DriftCompensation -} // namespace Attributes -} // namespace ChloraminesConcentrationMeasurement +namespace CompensationText { -namespace ChlorineConcentrationMeasurement { -namespace Attributes { +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +{ + uint8_t zclString[254 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } -namespace MeasuredValue { + VerifyOrReturnError(value.size() == 254, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 254); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(254 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 254, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[254 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); +} -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +} // namespace CompensationText + +namespace ColorTemperature { + +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28407,9 +17350,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28417,21 +17360,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace ColorTemperature -namespace MinMeasuredValue { +namespace ColorMode { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28440,9 +17381,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28450,21 +17391,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace ColorMode -namespace MaxMeasuredValue { +namespace Options { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28473,9 +17412,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28483,54 +17422,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace Options -namespace Tolerance { +namespace NumberOfPrimaries { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Tolerance +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} -namespace FeatureMap { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) + return Set(endpoint, value.Value()); +} + +} // namespace NumberOfPrimaries + +namespace Primary1X { + +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28539,9 +17496,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28549,21 +17506,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace Primary1X -namespace ClusterRevision { +namespace Primary1Y { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28582,60 +17537,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ChlorineConcentrationMeasurement - -namespace FecalColiformAndEColiConcentrationMeasurement { -namespace Attributes { +} // namespace Primary1Y -namespace MeasuredValue { +namespace Primary1Intensity { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} -namespace MinMeasuredValue { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, float * value) + return Set(endpoint, value.Value()); +} + +} // namespace Primary1Intensity + +namespace Primary2X { + +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28644,9 +17611,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28654,21 +17621,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace Primary2X -namespace MaxMeasuredValue { +namespace Primary2Y { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28677,9 +17642,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28687,54 +17652,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace Primary2Y -namespace Tolerance { +namespace Primary2Intensity { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Tolerance +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} -namespace FeatureMap { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) + return Set(endpoint, value.Value()); +} + +} // namespace Primary2Intensity + +namespace Primary3X { + +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28743,9 +17726,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28753,21 +17736,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace Primary3X -namespace ClusterRevision { +namespace Primary3Y { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28786,60 +17767,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace FecalColiformAndEColiConcentrationMeasurement - -namespace FluorideConcentrationMeasurement { -namespace Attributes { +} // namespace Primary3Y -namespace MeasuredValue { +namespace Primary3Intensity { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} -namespace MinMeasuredValue { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, float * value) + return Set(endpoint, value.Value()); +} + +} // namespace Primary3Intensity + +namespace Primary4X { + +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28848,9 +17841,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28858,21 +17851,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace Primary4X -namespace MaxMeasuredValue { +namespace Primary4Y { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28881,9 +17872,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -28891,87 +17882,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace Primary4Y -namespace Tolerance { +namespace Primary4Intensity { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Tolerance - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace FeatureMap +} // namespace Primary4Intensity -namespace ClusterRevision { +namespace Primary5X { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -28990,27 +17966,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace FluorideConcentrationMeasurement - -namespace HaloaceticAcidsConcentrationMeasurement { -namespace Attributes { +} // namespace Primary5X -namespace MeasuredValue { +namespace Primary5Y { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29019,9 +17987,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29029,87 +17997,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace Primary5Y -namespace MinMeasuredValue { +namespace Primary5Intensity { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { - -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, float value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace MaxMeasuredValue +} // namespace Primary5Intensity -namespace Tolerance { +namespace Primary6X { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29118,9 +18071,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29128,21 +18081,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace Primary6X -namespace FeatureMap { +namespace Primary6Y { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29151,9 +18102,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29161,60 +18112,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace Primary6Y -namespace ClusterRevision { +namespace Primary6Intensity { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} -} // namespace Attributes -} // namespace HaloaceticAcidsConcentrationMeasurement +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -namespace TotalTrihalomethanesConcentrationMeasurement { -namespace Attributes { + return Set(endpoint, value.Value()); +} -namespace MeasuredValue { +} // namespace Primary6Intensity -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +namespace WhitePointX { + +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29223,9 +18186,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29233,21 +18196,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace WhitePointX -namespace MinMeasuredValue { +namespace WhitePointY { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29256,9 +18217,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29266,21 +18227,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace WhitePointY -namespace MaxMeasuredValue { +namespace ColorPointRX { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29289,9 +18248,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29299,21 +18258,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace ColorPointRX -namespace Tolerance { +namespace ColorPointRY { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29322,9 +18279,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29332,54 +18289,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace ColorPointRY -namespace FeatureMap { +namespace ColorPointRIntensity { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) + { + value.SetNull(); + } + else { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} -namespace ClusterRevision { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); +} + +} // namespace ColorPointRIntensity + +namespace ColorPointGX { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29398,27 +18373,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace TotalTrihalomethanesConcentrationMeasurement - -namespace TotalColiformBacteriaConcentrationMeasurement { -namespace Attributes { +} // namespace ColorPointGX -namespace MeasuredValue { +namespace ColorPointGY { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29427,9 +18394,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29437,87 +18404,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace ColorPointGY -namespace MinMeasuredValue { +namespace ColorPointGIntensity { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { - -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, float value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace MaxMeasuredValue +} // namespace ColorPointGIntensity -namespace Tolerance { +namespace ColorPointBX { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29526,9 +18478,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29536,21 +18488,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace ColorPointBX -namespace FeatureMap { +namespace ColorPointBY { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29559,9 +18509,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29569,60 +18519,72 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace ColorPointBY -namespace ClusterRevision { +namespace ColorPointBIntensity { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} -} // namespace Attributes -} // namespace TotalColiformBacteriaConcentrationMeasurement +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -namespace TurbidityConcentrationMeasurement { -namespace Attributes { + return Set(endpoint, value.Value()); +} -namespace MeasuredValue { +} // namespace ColorPointBIntensity -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +namespace EnhancedCurrentHue { + +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29631,9 +18593,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29641,21 +18603,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace EnhancedCurrentHue -namespace MinMeasuredValue { +namespace EnhancedColorMode { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29664,9 +18624,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29674,21 +18634,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace EnhancedColorMode -namespace MaxMeasuredValue { +namespace ColorLoopActive { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29697,9 +18655,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29707,21 +18665,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace ColorLoopActive -namespace Tolerance { +namespace ColorLoopDirection { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29730,9 +18686,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29740,21 +18696,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace ColorLoopDirection -namespace FeatureMap { +namespace ColorLoopTime { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29763,9 +18717,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29773,21 +18727,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace ColorLoopTime -namespace ClusterRevision { +namespace ColorLoopStartEnhancedHue { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29806,27 +18758,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace TurbidityConcentrationMeasurement - -namespace CopperConcentrationMeasurement { -namespace Attributes { +} // namespace ColorLoopStartEnhancedHue -namespace MeasuredValue { +namespace ColorLoopStoredEnhancedHue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29835,9 +18779,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29845,21 +18789,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace ColorLoopStoredEnhancedHue -namespace MinMeasuredValue { +namespace ColorCapabilities { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29868,9 +18810,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29878,21 +18820,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_BITMAP16_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace ColorCapabilities -namespace MaxMeasuredValue { +namespace ColorTempPhysicalMinMireds { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29901,9 +18841,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29911,21 +18851,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace ColorTempPhysicalMinMireds -namespace Tolerance { +namespace ColorTempPhysicalMaxMireds { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29934,9 +18872,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29944,21 +18882,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace ColorTempPhysicalMaxMireds -namespace FeatureMap { +namespace CoupleColorTempToLevelMinMireds { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -29967,9 +18903,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -29977,21 +18913,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace CoupleColorTempToLevelMinMireds -namespace ClusterRevision { +namespace StartUpColorTemperatureMireds { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -30010,27 +18944,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace CopperConcentrationMeasurement - -namespace LeadConcentrationMeasurement { -namespace Attributes { +} // namespace StartUpColorTemperatureMireds -namespace MeasuredValue { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -30039,9 +18965,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -30049,21 +18975,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace FeatureMap -namespace MinMeasuredValue { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -30072,9 +18996,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -30082,21 +19006,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace ClusterRevision -namespace MaxMeasuredValue { +} // namespace Attributes +} // namespace ColorControl -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +namespace BallastConfiguration { +namespace Attributes { + +namespace PhysicalMinLevel { + +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -30105,9 +19033,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -30115,21 +19043,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace PhysicalMinLevel -namespace Tolerance { +namespace PhysicalMaxLevel { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -30138,9 +19064,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -30148,21 +19074,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace PhysicalMaxLevel -namespace FeatureMap { +namespace BallastStatus { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -30171,9 +19095,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -30181,21 +19105,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace BallastStatus -namespace ClusterRevision { +namespace MinLevel { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -30204,9 +19126,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -30214,27 +19136,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace LeadConcentrationMeasurement - -namespace ManganeseConcentrationMeasurement { -namespace Attributes { +} // namespace MinLevel -namespace MeasuredValue { +namespace MaxLevel { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -30243,9 +19157,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -30253,87 +19167,125 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue +} // namespace MaxLevel -namespace MinMeasuredValue { +namespace IntrinsicBalanceFactor { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} -namespace MaxMeasuredValue { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, float * value) + return Set(endpoint, value.Value()); +} + +} // namespace IntrinsicBalanceFactor + +namespace BallastFactorAdjustment { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); +} -namespace Tolerance { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, float * value) + return Set(endpoint, value.Value()); +} + +} // namespace BallastFactorAdjustment + +namespace LampQuantity { + +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -30342,9 +19294,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -30352,159 +19304,187 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace LampQuantity -namespace FeatureMap { +namespace LampType { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + uint8_t zclString[16 + 1]; EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - *value = Traits::StorageToWorking(temp); + + VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 16); + value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[16 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); +} + +} // namespace LampType + +namespace LampManufacturer { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +{ + uint8_t zclString[16 + 1]; + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + + VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 16); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[16 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace LampManufacturer -namespace ClusterRevision { +namespace LampRatedHours { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits>; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT24U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits>; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT24U_ATTRIBUTE_TYPE); +} -} // namespace Attributes -} // namespace ManganeseConcentrationMeasurement +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -namespace SulfateConcentrationMeasurement { -namespace Attributes { + return Set(endpoint, value.Value()); +} -namespace MeasuredValue { +} // namespace LampRatedHours -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +namespace LampBurnHours { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits>; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT24U_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue - -namespace MinMeasuredValue { - -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits>; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT24U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, float value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace MinMeasuredValue +} // namespace LampBurnHours -namespace MaxMeasuredValue { +namespace LampAlarmMode { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -30513,9 +19493,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -30523,44 +19503,63 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace LampAlarmMode -namespace Tolerance { +namespace LampBurnHoursTripPoint { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits>; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT24U_ATTRIBUTE_TYPE); } -} // namespace Tolerance +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits>; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT24U_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); +} + +} // namespace LampBurnHoursTripPoint namespace FeatureMap { @@ -30568,9 +19567,8 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -30589,8 +19587,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -30601,9 +19598,8 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -30622,264 +19618,184 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace SulfateConcentrationMeasurement +} // namespace BallastConfiguration -namespace BromodichloromethaneConcentrationMeasurement { +namespace IlluminanceMeasurement { namespace Attributes { namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, float value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); -} - -} // namespace MeasuredValue - -namespace MinMeasuredValue { - -EmberAfStatus Get(chip::EndpointId endpoint, float * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + else { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { - -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, float value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace MaxMeasuredValue +} // namespace MeasuredValue -namespace Tolerance { +namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Tolerance - -namespace FeatureMap { - -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); } -} // namespace FeatureMap +} // namespace MinMeasuredValue -namespace ClusterRevision { +namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace BromodichloromethaneConcentrationMeasurement - -namespace BromoformConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { - -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, float value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace MeasuredValue +} // namespace MaxMeasuredValue -namespace MinMeasuredValue { +namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -30888,9 +19804,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -30898,77 +19814,63 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MinMeasuredValue +} // namespace Tolerance -namespace MaxMeasuredValue { +namespace LightSensorType { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue - -namespace Tolerance { - -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, float value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace Tolerance +} // namespace LightSensorType namespace FeatureMap { @@ -30976,9 +19878,8 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -30997,8 +19898,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -31009,9 +19909,8 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -31030,126 +19929,184 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace BromoformConcentrationMeasurement +} // namespace IlluminanceMeasurement -namespace ChlorodibromomethaneConcentrationMeasurement { +namespace TemperatureMeasurement { namespace Attributes { namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); +} + +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); } } // namespace MeasuredValue namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); +} + +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); } } // namespace MinMeasuredValue namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); +} + +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); } } // namespace MaxMeasuredValue namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -31158,9 +20115,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -31168,8 +20125,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace Tolerance @@ -31181,8 +20137,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -31201,8 +20156,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -31214,8 +20168,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, - readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -31234,126 +20187,184 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace ChlorodibromomethaneConcentrationMeasurement +} // namespace TemperatureMeasurement -namespace ChloroformConcentrationMeasurement { +namespace PressureMeasurement { namespace Attributes { namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); +} + +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); } } // namespace MeasuredValue namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); +} + +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); } } // namespace MinMeasuredValue namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); +} + +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); +} + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } + + return Set(endpoint, value.Value()); } } // namespace MaxMeasuredValue namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -31362,9 +20373,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -31372,159 +20383,178 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace Tolerance -namespace FeatureMap { +namespace ScaledValue { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); +} -namespace ClusterRevision { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) + return Set(endpoint, value.Value()); +} + +} // namespace ScaledValue + +namespace MinScaledValue { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); +} -} // namespace Attributes -} // namespace ChloroformConcentrationMeasurement +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -namespace SodiumConcentrationMeasurement { -namespace Attributes { + return Set(endpoint, value.Value()); +} -namespace MeasuredValue { +} // namespace MinScaledValue -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +namespace MaxScaledValue { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -} // namespace MeasuredValue - -namespace MinMeasuredValue { - -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16S_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, float value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + + return Set(endpoint, value.Value()); } -} // namespace MinMeasuredValue +} // namespace MaxScaledValue -namespace MaxMeasuredValue { +namespace ScaledTolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -31533,9 +20563,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -31543,21 +20573,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MaxMeasuredValue +} // namespace ScaledTolerance -namespace Tolerance { +namespace Scale { -EmberAfStatus Get(chip::EndpointId endpoint, float * value) +EmberAfStatus Get(chip::EndpointId endpoint, int8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -31566,9 +20594,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, float * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, float value) +EmberAfStatus Set(chip::EndpointId endpoint, int8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -31576,11 +20604,10 @@ EmberAfStatus Set(chip::EndpointId endpoint, float value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, writable, - ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT8S_ATTRIBUTE_TYPE); } -} // namespace Tolerance +} // namespace Scale namespace FeatureMap { @@ -31588,9 +20615,8 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -31609,8 +20635,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, writable, - ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -31621,9 +20646,8 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -31642,192 +20666,184 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, writable, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace SodiumConcentrationMeasurement +} // namespace PressureMeasurement -namespace WakeOnLan { +namespace FlowMeasurement { namespace Attributes { -namespace MACAddress { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[32 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WakeOnLan::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 32); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[32 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::WakeOnLan::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace MACAddress - -namespace FeatureMap { +namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WakeOnLan::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WakeOnLan::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap - -namespace ClusterRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus SetNull(chip::EndpointId endpoint) { using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WakeOnLan::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) + +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::WakeOnLan::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace WakeOnLan + return Set(endpoint, value.Value()); +} -namespace Channel { -namespace Attributes { +} // namespace MeasuredValue -namespace FeatureMap { +namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Channel::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Channel::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); +} -namespace ClusterRevision { +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) + return Set(endpoint, value.Value()); +} + +} // namespace MinMeasuredValue + +namespace MaxMeasuredValue { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Channel::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::Channel::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); +} -} // namespace Attributes -} // namespace Channel +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -namespace TargetNavigator { -namespace Attributes { + return Set(endpoint, value.Value()); +} -namespace CurrentTarget { +} // namespace MaxMeasuredValue -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +namespace Tolerance { + +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TargetNavigator::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -31836,9 +20852,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -31846,10 +20862,10 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TargetNavigator::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace CurrentTarget +} // namespace Tolerance namespace FeatureMap { @@ -31858,7 +20874,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TargetNavigator::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -31877,7 +20893,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TargetNavigator::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -31889,7 +20905,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TargetNavigator::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -31908,56 +20924,26 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::TargetNavigator::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace TargetNavigator +} // namespace FlowMeasurement -namespace MediaPlayback { +namespace RelativeHumidityMeasurement { namespace Attributes { -namespace CurrentState { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::MediaPlayback::PlaybackStateEnum * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::MediaPlayback::PlaybackStateEnum value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace CurrentState - -namespace StartTime { +namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -31969,9 +20955,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & val } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -31979,19 +20965,21 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_EPOCH_US_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, + ZCL_INT16U_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_EPOCH_US_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, + ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -32001,16 +20989,17 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace StartTime +} // namespace MeasuredValue -namespace Duration { +namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -32022,9 +21011,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & val } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -32032,19 +21021,21 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, + ZCL_INT16U_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, + ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -32054,47 +21045,17 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace Duration - -namespace PlaybackSpeed { - -EmberAfStatus Get(chip::EndpointId endpoint, float * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, float value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_SINGLE_ATTRIBUTE_TYPE); -} - -} // namespace PlaybackSpeed +} // namespace MinMeasuredValue -namespace SeekRangeEnd { +namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (Traits::IsNullValue(temp)) { @@ -32106,9 +21067,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & val } return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -32116,19 +21077,21 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, + ZCL_INT16U_ATTRIBUTE_TYPE); } EmberAfStatus SetNull(chip::EndpointId endpoint) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType value; Traits::SetNull(value); uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, + ZCL_INT16U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { if (value.IsNull()) { @@ -32138,60 +21101,40 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl return Set(endpoint, value.Value()); } -} // namespace SeekRangeEnd +} // namespace MaxMeasuredValue -namespace SeekRangeStart { +namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (Traits::IsNullValue(temp)) - { - value.SetNull(); - } - else + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { - value.SetNonNull() = Traits::StorageToWorking(temp); + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -EmberAfStatus SetNull(chip::EndpointId endpoint) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType value; - Traits::SetNull(value); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); - return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); -} - -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) -{ - if (value.IsNull()) - { - return SetNull(endpoint); - } - - return Set(endpoint, value.Value()); + return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, + ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace SeekRangeStart +} // namespace Tolerance namespace FeatureMap { @@ -32199,8 +21142,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32219,7 +21163,8 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, + ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -32230,8 +21175,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, readable, sizeof(temp)); + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = + emberAfReadServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32250,25 +21196,26 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, writable, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace MediaPlayback +} // namespace RelativeHumidityMeasurement -namespace MediaInput { +namespace OccupancySensing { namespace Attributes { -namespace CurrentInput { +namespace Occupancy { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaInput::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32287,19 +21234,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::MediaInput::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace CurrentInput +} // namespace Occupancy -namespace FeatureMap { +namespace OccupancySensorType { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaInput::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32308,9 +21255,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -32318,19 +21265,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::MediaInput::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace OccupancySensorType -namespace ClusterRevision { +namespace OccupancySensorTypeBitmap { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaInput::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32339,9 +21286,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -32349,25 +21296,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::MediaInput::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_BITMAP8_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace MediaInput - -namespace LowPower { -namespace Attributes { +} // namespace OccupancySensorTypeBitmap -namespace FeatureMap { +namespace PirOccupiedToUnoccupiedDelay { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LowPower::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32376,9 +21317,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -32386,19 +21327,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LowPower::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace PirOccupiedToUnoccupiedDelay -namespace ClusterRevision { +namespace PirUnoccupiedToOccupiedDelay { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LowPower::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32417,25 +21358,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::LowPower::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace LowPower - -namespace KeypadInput { -namespace Attributes { +} // namespace PirUnoccupiedToOccupiedDelay -namespace FeatureMap { +namespace PirUnoccupiedToOccupiedThreshold { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::KeypadInput::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32444,9 +21379,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -32454,19 +21389,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::KeypadInput::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace PirUnoccupiedToOccupiedThreshold -namespace ClusterRevision { +namespace UltrasonicOccupiedToUnoccupiedDelay { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::KeypadInput::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32485,25 +21420,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::KeypadInput::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace KeypadInput - -namespace ContentLauncher { -namespace Attributes { +} // namespace UltrasonicOccupiedToUnoccupiedDelay -namespace SupportedStreamingProtocols { +namespace UltrasonicUnoccupiedToOccupiedDelay { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ContentLauncher::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32512,9 +21441,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -32522,19 +21451,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ContentLauncher::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace SupportedStreamingProtocols +} // namespace UltrasonicUnoccupiedToOccupiedDelay -namespace FeatureMap { +namespace UltrasonicUnoccupiedToOccupiedThreshold { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ContentLauncher::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32543,9 +21472,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -32553,19 +21482,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ContentLauncher::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace UltrasonicUnoccupiedToOccupiedThreshold -namespace ClusterRevision { +namespace PhysicalContactOccupiedToUnoccupiedDelay { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ContentLauncher::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32584,56 +21513,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ContentLauncher::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ContentLauncher - -namespace AudioOutput { -namespace Attributes { - -namespace CurrentOutput { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) -{ - using Traits = NumericAttributeTraits; - Traits::StorageType temp; - uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AudioOutput::Id, Id, readable, sizeof(temp)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - *value = Traits::StorageToWorking(temp); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) -{ - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - Traits::StorageType storageValue; - Traits::WorkingToStorage(value, storageValue); - uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::AudioOutput::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace CurrentOutput +} // namespace PhysicalContactOccupiedToUnoccupiedDelay -namespace FeatureMap { +namespace PhysicalContactUnoccupiedToOccupiedDelay { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AudioOutput::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32642,9 +21534,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -32652,19 +21544,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::AudioOutput::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace PhysicalContactUnoccupiedToOccupiedDelay -namespace ClusterRevision { +namespace PhysicalContactUnoccupiedToOccupiedThreshold { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AudioOutput::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32673,9 +21565,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -32683,16 +21575,10 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::AudioOutput::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace AudioOutput - -namespace ApplicationLauncher { -namespace Attributes { +} // namespace PhysicalContactUnoccupiedToOccupiedThreshold namespace FeatureMap { @@ -32701,7 +21587,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationLauncher::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32720,7 +21606,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationLauncher::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -32732,7 +21618,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationLauncher::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32751,23 +21637,23 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationLauncher::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace ApplicationLauncher +} // namespace OccupancySensing -namespace ApplicationBasic { +namespace WakeOnLan { namespace Attributes { -namespace VendorName { +namespace MACAddress { EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { uint8_t zclString[32 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, zclString, sizeof(zclString)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WakeOnLan::Id, Id, zclString, sizeof(zclString)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); size_t length = emberAfStringLength(zclString); if (length == NumericAttributeTraits::kNullValue) @@ -32787,19 +21673,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) uint8_t zclString[32 + 1]; emberAfCopyInt8u(zclString, 0, static_cast(value.size())); memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WakeOnLan::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); } -} // namespace VendorName +} // namespace MACAddress -namespace VendorID { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WakeOnLan::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32808,9 +21694,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -32818,49 +21704,56 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WakeOnLan::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace VendorID +} // namespace FeatureMap -namespace ApplicationName { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - uint8_t zclString[32 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, zclString, sizeof(zclString)); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::WakeOnLan::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 32); - value.reduce_size(length); + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[32 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::WakeOnLan::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ApplicationName +} // namespace ClusterRevision -namespace ProductID { +} // namespace Attributes +} // namespace WakeOnLan -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +namespace Channel { +namespace Attributes { + +namespace FeatureMap { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Channel::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32869,9 +21762,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -32879,19 +21772,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Channel::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace ProductID +} // namespace FeatureMap -namespace Status { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::ApplicationBasic::ApplicationStatusEnum * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Channel::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32900,9 +21793,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::ApplicationBas *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::ApplicationBasic::ApplicationStatusEnum value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -32910,40 +21803,47 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::ApplicationBas Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Channel::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Status +} // namespace ClusterRevision -namespace ApplicationVersion { +} // namespace Attributes +} // namespace Channel -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +namespace TargetNavigator { +namespace Attributes { + +namespace CurrentTarget { + +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - uint8_t zclString[32 + 1]; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, zclString, sizeof(zclString)); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TargetNavigator::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 32); - value.reduce_size(length); + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[32 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::TargetNavigator::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace ApplicationVersion +} // namespace CurrentTarget namespace FeatureMap { @@ -32952,7 +21852,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TargetNavigator::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -32971,7 +21871,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TargetNavigator::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -32983,7 +21883,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::TargetNavigator::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -33002,25 +21902,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TargetNavigator::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace ApplicationBasic +} // namespace TargetNavigator -namespace AccountLogin { +namespace MediaPlayback { namespace Attributes { -namespace FeatureMap { +namespace CurrentState { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::MediaPlayback::PlaybackStateEnum * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AccountLogin::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -33029,9 +21929,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::MediaPlayback::PlaybackStateEnum value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -33039,119 +21939,125 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::AccountLogin::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace CurrentState -namespace ClusterRevision { +namespace StartTime { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AccountLogin::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::AccountLogin::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_EPOCH_US_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_EPOCH_US_ATTRIBUTE_TYPE); +} -} // namespace Attributes -} // namespace AccountLogin +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) +{ + if (value.IsNull()) + { + return SetNull(endpoint); + } -namespace ApplianceIdentification { -namespace Attributes { + return Set(endpoint, value.Value()); +} -namespace BasicIdentification { +} // namespace StartTime -EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value) +namespace Duration { + +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) + { + value.SetNull(); + } + else { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits>; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, writable, ZCL_INT56U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace BasicIdentification - -namespace CompanyName { +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); +} -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - uint8_t zclString[16 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, zclString, - ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + return Set(endpoint, value.Value()); } -} // namespace CompanyName +} // namespace Duration -namespace CompanyId { +namespace PlaybackSpeed { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, float * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -33160,9 +22066,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, float value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -33170,242 +22076,156 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace CompanyId - -namespace BrandName { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) -{ - uint8_t zclString[16 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) - { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; - } - - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, zclString, - ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_SINGLE_ATTRIBUTE_TYPE); } -} // namespace BrandName +} // namespace PlaybackSpeed -namespace BrandId { +namespace SeekRangeEnd { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - using Traits = NumericAttributeTraits; - if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace BrandId - -namespace Model { +EmberAfStatus SetNull(chip::EndpointId endpoint) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); +} -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - uint8_t zclString[16 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, zclString, - ZCL_OCTET_STRING_ATTRIBUTE_TYPE); + return Set(endpoint, value.Value()); } -} // namespace Model +} // namespace SeekRangeEnd -namespace PartNumber { +namespace SeekRangeStart { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value) +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value) { - uint8_t zclString[16 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, zclString, sizeof(zclString)); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (Traits::IsNullValue(temp)) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + value.SetNull(); + } + else + { + value.SetNonNull() = Traits::StorageToWorking(temp); } - - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, zclString, - ZCL_OCTET_STRING_ATTRIBUTE_TYPE); -} - -} // namespace PartNumber - -namespace ProductRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value) { - uint8_t zclString[6 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ true, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - VerifyOrReturnError(value.size() == 6, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 6); - value.reduce_size(length); - return status; + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value) + +EmberAfStatus SetNull(chip::EndpointId endpoint) { - static_assert(6 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 6, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[6 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, zclString, - ZCL_OCTET_STRING_ATTRIBUTE_TYPE); + using Traits = NumericAttributeTraits; + Traits::StorageType value; + Traits::SetNull(value); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(value); + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_INT64U_ATTRIBUTE_TYPE); } -} // namespace ProductRevision - -namespace SoftwareRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value) { - uint8_t zclString[6 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (value.IsNull()) { - return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + return SetNull(endpoint); } - VerifyOrReturnError(value.size() == 6, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 6); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value) -{ - static_assert(6 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 6, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[6 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, zclString, - ZCL_OCTET_STRING_ATTRIBUTE_TYPE); + return Set(endpoint, value.Value()); } -} // namespace SoftwareRevision +} // namespace SeekRangeStart -namespace ProductTypeName { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - uint8_t zclString[2 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, zclString, sizeof(zclString)); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - VerifyOrReturnError(value.size() == 2, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 2); - value.reduce_size(length); + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - static_assert(2 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 2, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[2 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, zclString, - ZCL_OCTET_STRING_ATTRIBUTE_TYPE); + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace ProductTypeName +} // namespace FeatureMap -namespace ProductTypeId { +namespace ClusterRevision { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -33424,19 +22244,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ProductTypeId +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace MediaPlayback + +namespace MediaInput { +namespace Attributes { -namespace CecedSpecificationVersion { +namespace CurrentInput { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaInput::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -33455,10 +22281,10 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::MediaInput::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace CecedSpecificationVersion +} // namespace CurrentInput namespace FeatureMap { @@ -33467,7 +22293,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaInput::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -33486,7 +22312,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::MediaInput::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -33498,7 +22324,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MediaInput::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -33517,56 +22343,56 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::MediaInput::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace ApplianceIdentification +} // namespace MediaInput -namespace MeterIdentification { +namespace LowPower { namespace Attributes { -namespace CompanyName { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - uint8_t zclString[16 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, zclString, sizeof(zclString)); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LowPower::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::LowPower::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace CompanyName +} // namespace FeatureMap -namespace MeterTypeId { +namespace ClusterRevision { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::LowPower::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -33585,19 +22411,25 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LowPower::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace MeterTypeId +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace LowPower -namespace DataQualityId { +namespace KeypadInput { +namespace Attributes { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +namespace FeatureMap { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::KeypadInput::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -33606,9 +22438,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -33616,236 +22448,186 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::KeypadInput::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace DataQualityId +} // namespace FeatureMap -namespace CustomerName { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - uint8_t zclString[16 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, zclString, sizeof(zclString)); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::KeypadInput::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); -} - -} // namespace CustomerName - -namespace Model { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - uint8_t zclString[16 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, zclString, ZCL_OCTET_STRING_ATTRIBUTE_TYPE); + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::KeypadInput::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace Model +} // namespace ClusterRevision -namespace PartNumber { +} // namespace Attributes +} // namespace KeypadInput -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value) +namespace ContentLauncher { +namespace Attributes { + +namespace SupportedStreamingProtocols { + +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - uint8_t zclString[16 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, zclString, sizeof(zclString)); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ContentLauncher::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, zclString, ZCL_OCTET_STRING_ATTRIBUTE_TYPE); -} - -} // namespace PartNumber - -namespace ProductRevision { - -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - uint8_t zclString[6 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, zclString, sizeof(zclString)); - VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - VerifyOrReturnError(value.size() == 6, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 6); - value.reduce_size(length); - return status; -} -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value) -{ - static_assert(6 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 6, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[6 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, zclString, ZCL_OCTET_STRING_ATTRIBUTE_TYPE); + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::ContentLauncher::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace ProductRevision +} // namespace SupportedStreamingProtocols -namespace SoftwareRevision { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - uint8_t zclString[6 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, zclString, sizeof(zclString)); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ContentLauncher::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - VerifyOrReturnError(value.size() == 6, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 6); - value.reduce_size(length); + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - static_assert(6 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 6, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[6 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, zclString, ZCL_OCTET_STRING_ATTRIBUTE_TYPE); + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::ContentLauncher::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace SoftwareRevision +} // namespace FeatureMap -namespace UtilityName { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - uint8_t zclString[16 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, zclString, sizeof(zclString)); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ContentLauncher::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) -{ - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::ContentLauncher::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace UtilityName +} // namespace ClusterRevision -namespace Pod { +} // namespace Attributes +} // namespace ContentLauncher -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +namespace AudioOutput { +namespace Attributes { + +namespace CurrentOutput { + +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) { - uint8_t zclString[16 + 1]; - EmberAfStatus status = - emberAfReadServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, zclString, sizeof(zclString)); + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AudioOutput::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); - size_t length = emberAfStringLength(zclString); - if (length == NumericAttributeTraits::kNullValue) + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; } - - VerifyOrReturnError(value.size() == 16, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); - memcpy(value.data(), &zclString[1], 16); - value.reduce_size(length); + *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) { - static_assert(16 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); - VerifyOrReturnError(value.size() <= 16, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); - uint8_t zclString[16 + 1]; - emberAfCopyInt8u(zclString, 0, static_cast(value.size())); - memcpy(&zclString[1], value.data(), value.size()); - return emberAfWriteServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::AudioOutput::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); } -} // namespace Pod +} // namespace CurrentOutput -namespace AvailablePower { +namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, int32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AudioOutput::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -33854,9 +22636,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -33864,19 +22646,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, int32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, writable, ZCL_INT24S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::AudioOutput::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace AvailablePower +} // namespace FeatureMap -namespace PowerThreshold { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, int32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AudioOutput::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -33885,9 +22667,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, int32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, int32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits>; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -33895,10 +22677,16 @@ EmberAfStatus Set(chip::EndpointId endpoint, int32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, writable, ZCL_INT24S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::AudioOutput::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace PowerThreshold +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace AudioOutput + +namespace ApplicationLauncher { +namespace Attributes { namespace FeatureMap { @@ -33907,7 +22695,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationLauncher::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -33926,7 +22714,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationLauncher::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -33938,7 +22726,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationLauncher::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -33957,25 +22745,55 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationLauncher::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace MeterIdentification +} // namespace ApplicationLauncher -namespace ApplianceEventsAndAlert { +namespace ApplicationBasic { namespace Attributes { -namespace FeatureMap { +namespace VendorName { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) { - using Traits = NumericAttributeTraits; + uint8_t zclString[32 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + + VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 32); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[32 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); +} + +} // namespace VendorName + +namespace VendorID { + +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +{ + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceEventsAndAlert::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -33984,9 +22802,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -33994,19 +22812,49 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceEventsAndAlert::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace FeatureMap +} // namespace VendorID -namespace ClusterRevision { +namespace ApplicationName { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +{ + uint8_t zclString[32 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + + VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 32); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[32 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); +} + +} // namespace ApplicationName + +namespace ProductID { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceEventsAndAlert::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -34025,25 +22873,80 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceEventsAndAlert::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace ClusterRevision +} // namespace ProductID -} // namespace Attributes -} // namespace ApplianceEventsAndAlert +namespace Status { -namespace ApplianceStatistics { -namespace Attributes { +EmberAfStatus Get(chip::EndpointId endpoint, chip::app::Clusters::ApplicationBasic::ApplicationStatusEnum * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + *value = Traits::StorageToWorking(temp); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::ApplicationBasic::ApplicationStatusEnum value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, writable, ZCL_ENUM8_ATTRIBUTE_TYPE); +} + +} // namespace Status + +namespace ApplicationVersion { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value) +{ + uint8_t zclString[32 + 1]; + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, zclString, sizeof(zclString)); + VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); + size_t length = emberAfStringLength(zclString); + if (length == NumericAttributeTraits::kNullValue) + { + return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; + } + + VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_DATA_TYPE); + memcpy(value.data(), &zclString[1], 32); + value.reduce_size(length); + return status; +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) +{ + static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big"); + VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_CONSTRAINT_ERROR); + uint8_t zclString[32 + 1]; + emberAfCopyInt8u(zclString, 0, static_cast(value.size())); + memcpy(&zclString[1], value.data(), value.size()); + return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE); +} + +} // namespace ApplicationVersion -namespace LogMaxSize { +namespace FeatureMap { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) { using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceStatistics::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -34062,19 +22965,19 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceStatistics::Id, Id, writable, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } -} // namespace LogMaxSize +} // namespace FeatureMap -namespace LogQueueMaxSize { +namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceStatistics::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -34083,9 +22986,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -34093,10 +22996,16 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceStatistics::Id, Id, writable, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } -} // namespace LogQueueMaxSize +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace ApplicationBasic + +namespace AccountLogin { +namespace Attributes { namespace FeatureMap { @@ -34105,7 +23014,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceStatistics::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AccountLogin::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -34124,7 +23033,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceStatistics::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::AccountLogin::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace FeatureMap @@ -34136,7 +23045,7 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); - EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::ApplianceStatistics::Id, Id, readable, sizeof(temp)); + EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::AccountLogin::Id, Id, readable, sizeof(temp)); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status); if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) { @@ -34155,13 +23064,13 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceStatistics::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::AccountLogin::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ClusterRevision } // namespace Attributes -} // namespace ApplianceStatistics +} // namespace AccountLogin namespace ElectricalMeasurement { namespace Attributes { diff --git a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h index e6930f6e15d0dc..4f45aeed5e5810 100644 --- a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h +++ b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h @@ -33,368 +33,6 @@ namespace chip { namespace app { namespace Clusters { -namespace PowerConfiguration { -namespace Attributes { - -namespace MainsVoltage { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace MainsVoltage - -namespace MainsFrequency { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace MainsFrequency - -namespace MainsAlarmMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // bitmap8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace MainsAlarmMask - -namespace MainsVoltageMinThreshold { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace MainsVoltageMinThreshold - -namespace MainsVoltageMaxThreshold { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace MainsVoltageMaxThreshold - -namespace MainsVoltageDwellTrip { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace MainsVoltageDwellTrip - -namespace BatteryVoltage { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace BatteryVoltage - -namespace BatteryPercentageRemaining { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace BatteryPercentageRemaining - -namespace BatteryManufacturer { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value); -} // namespace BatteryManufacturer - -namespace BatterySize { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // enum8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace BatterySize - -namespace BatteryAhrRating { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace BatteryAhrRating - -namespace BatteryQuantity { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace BatteryQuantity - -namespace BatteryRatedVoltage { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace BatteryRatedVoltage - -namespace BatteryAlarmMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // bitmap8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace BatteryAlarmMask - -namespace BatteryVoltageMinThreshold { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace BatteryVoltageMinThreshold - -namespace BatteryVoltageThreshold1 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace BatteryVoltageThreshold1 - -namespace BatteryVoltageThreshold2 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace BatteryVoltageThreshold2 - -namespace BatteryVoltageThreshold3 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace BatteryVoltageThreshold3 - -namespace BatteryPercentageMinThreshold { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace BatteryPercentageMinThreshold - -namespace BatteryPercentageThreshold1 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace BatteryPercentageThreshold1 - -namespace BatteryPercentageThreshold2 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace BatteryPercentageThreshold2 - -namespace BatteryPercentageThreshold3 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace BatteryPercentageThreshold3 - -namespace BatteryAlarmState { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace BatteryAlarmState - -namespace Battery2Voltage { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery2Voltage - -namespace Battery2PercentageRemaining { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery2PercentageRemaining - -namespace Battery2Manufacturer { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value); -} // namespace Battery2Manufacturer - -namespace Battery2Size { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // enum8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery2Size - -namespace Battery2AhrRating { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace Battery2AhrRating - -namespace Battery2Quantity { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery2Quantity - -namespace Battery2RatedVoltage { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery2RatedVoltage - -namespace Battery2AlarmMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // bitmap8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery2AlarmMask - -namespace Battery2VoltageMinThreshold { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery2VoltageMinThreshold - -namespace Battery2VoltageThreshold1 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery2VoltageThreshold1 - -namespace Battery2VoltageThreshold2 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery2VoltageThreshold2 - -namespace Battery2VoltageThreshold3 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery2VoltageThreshold3 - -namespace Battery2PercentageMinThreshold { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery2PercentageMinThreshold - -namespace Battery2PercentageThreshold1 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery2PercentageThreshold1 - -namespace Battery2PercentageThreshold2 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery2PercentageThreshold2 - -namespace Battery2PercentageThreshold3 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery2PercentageThreshold3 - -namespace Battery2AlarmState { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace Battery2AlarmState - -namespace Battery3Voltage { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery3Voltage - -namespace Battery3PercentageRemaining { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery3PercentageRemaining - -namespace Battery3Manufacturer { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value); -} // namespace Battery3Manufacturer - -namespace Battery3Size { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // enum8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery3Size - -namespace Battery3AhrRating { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace Battery3AhrRating - -namespace Battery3Quantity { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery3Quantity - -namespace Battery3RatedVoltage { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery3RatedVoltage - -namespace Battery3AlarmMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // bitmap8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery3AlarmMask - -namespace Battery3VoltageMinThreshold { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery3VoltageMinThreshold - -namespace Battery3VoltageThreshold1 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery3VoltageThreshold1 - -namespace Battery3VoltageThreshold2 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery3VoltageThreshold2 - -namespace Battery3VoltageThreshold3 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery3VoltageThreshold3 - -namespace Battery3PercentageMinThreshold { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery3PercentageMinThreshold - -namespace Battery3PercentageThreshold1 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery3PercentageThreshold1 - -namespace Battery3PercentageThreshold2 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery3PercentageThreshold2 - -namespace Battery3PercentageThreshold3 { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Battery3PercentageThreshold3 - -namespace Battery3AlarmState { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace Battery3AlarmState - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace PowerConfiguration - -namespace DeviceTemperatureConfiguration { -namespace Attributes { - -namespace CurrentTemperature { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value); // int16s -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value); -} // namespace CurrentTemperature - -namespace MinTempExperienced { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value); // int16s -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value); -} // namespace MinTempExperienced - -namespace MaxTempExperienced { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value); // int16s -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value); -} // namespace MaxTempExperienced - -namespace OverTempTotalDwell { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace OverTempTotalDwell - -namespace DeviceTempAlarmMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // bitmap8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace DeviceTempAlarmMask - -namespace LowTempThreshold { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value); // int16s -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value); -} // namespace LowTempThreshold - -namespace HighTempThreshold { -EmberAfStatus Get(chip::EndpointId endpoint, int16_t * value); // int16s -EmberAfStatus Set(chip::EndpointId endpoint, int16_t value); -} // namespace HighTempThreshold - -namespace LowTempDwellTripPoint { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // int24u -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace LowTempDwellTripPoint - -namespace HighTempDwellTripPoint { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // int24u -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace HighTempDwellTripPoint - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace DeviceTemperatureConfiguration - namespace Identify { namespace Attributes { @@ -657,115 +295,28 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); } // namespace Attributes } // namespace LevelControl -namespace Alarms { +namespace BinaryInputBasic { namespace Attributes { -namespace AlarmCount { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace AlarmCount - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap +namespace ActiveText { +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value); +} // namespace ActiveText -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision +namespace Description { +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value); +} // namespace Description -} // namespace Attributes -} // namespace Alarms +namespace InactiveText { +EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string +EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value); +} // namespace InactiveText -namespace Time { -namespace Attributes { - -namespace Time { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // epoch_s -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace Time - -namespace TimeStatus { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // bitmap8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace TimeStatus - -namespace TimeZone { -EmberAfStatus Get(chip::EndpointId endpoint, int32_t * value); // int32s -EmberAfStatus Set(chip::EndpointId endpoint, int32_t value); -} // namespace TimeZone - -namespace DstStart { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // int32u -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace DstStart - -namespace DstEnd { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // int32u -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace DstEnd - -namespace DstShift { -EmberAfStatus Get(chip::EndpointId endpoint, int32_t * value); // int32s -EmberAfStatus Set(chip::EndpointId endpoint, int32_t value); -} // namespace DstShift - -namespace StandardTime { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // int32u -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace StandardTime - -namespace LocalTime { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // int32u -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace LocalTime - -namespace LastSetTime { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // epoch_s -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace LastSetTime - -namespace ValidUntilTime { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // epoch_s -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace ValidUntilTime - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace Time - -namespace BinaryInputBasic { -namespace Attributes { - -namespace ActiveText { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value); -} // namespace ActiveText - -namespace Description { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value); -} // namespace Description - -namespace InactiveText { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value); -} // namespace InactiveText - -namespace OutOfService { -EmberAfStatus Get(chip::EndpointId endpoint, bool * value); // boolean -EmberAfStatus Set(chip::EndpointId endpoint, bool value); -} // namespace OutOfService +namespace OutOfService { +EmberAfStatus Get(chip::EndpointId endpoint, bool * value); // boolean +EmberAfStatus Set(chip::EndpointId endpoint, bool value); +} // namespace OutOfService namespace Polarity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // enum8 @@ -805,78 +356,6 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); } // namespace Attributes } // namespace BinaryInputBasic -namespace PowerProfile { -namespace Attributes { - -namespace TotalProfileNum { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace TotalProfileNum - -namespace MultipleScheduling { -EmberAfStatus Get(chip::EndpointId endpoint, bool * value); // boolean -EmberAfStatus Set(chip::EndpointId endpoint, bool value); -} // namespace MultipleScheduling - -namespace EnergyFormatting { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // bitmap8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace EnergyFormatting - -namespace EnergyRemote { -EmberAfStatus Get(chip::EndpointId endpoint, bool * value); // boolean -EmberAfStatus Set(chip::EndpointId endpoint, bool value); -} // namespace EnergyRemote - -namespace ScheduleMode { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // bitmap8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace ScheduleMode - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace PowerProfile - -namespace ApplianceControl { -namespace Attributes { - -namespace StartTime { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace StartTime - -namespace FinishTime { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace FinishTime - -namespace RemainingTime { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace RemainingTime - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ApplianceControl - namespace PulseWidthModulation { namespace Attributes { @@ -956,57 +435,6 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); } // namespace Attributes } // namespace AccessControl -namespace PollControl { -namespace Attributes { - -namespace CheckInInterval { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // int32u -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace CheckInInterval - -namespace LongPollInterval { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // int32u -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace LongPollInterval - -namespace ShortPollInterval { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ShortPollInterval - -namespace FastPollTimeout { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace FastPollTimeout - -namespace CheckInIntervalMin { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // int32u -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace CheckInIntervalMin - -namespace LongPollIntervalMin { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // int32u -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace LongPollIntervalMin - -namespace FastPollTimeoutMax { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace FastPollTimeoutMax - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace PollControl - namespace BridgedActions { namespace Attributes { @@ -2508,47 +1936,6 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); } // namespace Attributes } // namespace ModeSelect -namespace ShadeConfiguration { -namespace Attributes { - -namespace PhysicalClosedLimit { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace PhysicalClosedLimit - -namespace MotorStepSize { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace MotorStepSize - -namespace Status { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // bitmap8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Status - -namespace ClosedLimit { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClosedLimit - -namespace Mode { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // enum8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Mode - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ShadeConfiguration - namespace DoorLock { namespace Attributes { @@ -3500,62 +2887,6 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); } // namespace Attributes } // namespace FanControl -namespace DehumidificationControl { -namespace Attributes { - -namespace RelativeHumidity { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace RelativeHumidity - -namespace DehumidificationCooling { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace DehumidificationCooling - -namespace RhDehumidificationSetpoint { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace RhDehumidificationSetpoint - -namespace RelativeHumidityMode { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // enum8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace RelativeHumidityMode - -namespace DehumidificationLockout { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // enum8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace DehumidificationLockout - -namespace DehumidificationHysteresis { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace DehumidificationHysteresis - -namespace DehumidificationMaxCool { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace DehumidificationMaxCool - -namespace RelativeHumidityDisplay { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // enum8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace RelativeHumidityDisplay - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace DehumidificationControl - namespace ThermostatUserInterfaceConfiguration { namespace Attributes { @@ -4148,1154 +3479,28 @@ namespace Attributes { namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -EmberAfStatus SetNull(chip::EndpointId endpoint); -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -EmberAfStatus SetNull(chip::EndpointId endpoint); -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -EmberAfStatus SetNull(chip::EndpointId endpoint); -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace FlowMeasurement - -namespace RelativeHumidityMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -EmberAfStatus SetNull(chip::EndpointId endpoint); -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -EmberAfStatus SetNull(chip::EndpointId endpoint); -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -EmberAfStatus SetNull(chip::EndpointId endpoint); -EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace RelativeHumidityMeasurement - -namespace OccupancySensing { -namespace Attributes { - -namespace Occupancy { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // bitmap8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace Occupancy - -namespace OccupancySensorType { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // enum8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace OccupancySensorType - -namespace OccupancySensorTypeBitmap { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // bitmap8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace OccupancySensorTypeBitmap - -namespace PirOccupiedToUnoccupiedDelay { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace PirOccupiedToUnoccupiedDelay - -namespace PirUnoccupiedToOccupiedDelay { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace PirUnoccupiedToOccupiedDelay - -namespace PirUnoccupiedToOccupiedThreshold { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace PirUnoccupiedToOccupiedThreshold - -namespace UltrasonicOccupiedToUnoccupiedDelay { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace UltrasonicOccupiedToUnoccupiedDelay - -namespace UltrasonicUnoccupiedToOccupiedDelay { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace UltrasonicUnoccupiedToOccupiedDelay - -namespace UltrasonicUnoccupiedToOccupiedThreshold { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace UltrasonicUnoccupiedToOccupiedThreshold - -namespace PhysicalContactOccupiedToUnoccupiedDelay { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace PhysicalContactOccupiedToUnoccupiedDelay - -namespace PhysicalContactUnoccupiedToOccupiedDelay { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace PhysicalContactUnoccupiedToOccupiedDelay - -namespace PhysicalContactUnoccupiedToOccupiedThreshold { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace PhysicalContactUnoccupiedToOccupiedThreshold - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace OccupancySensing - -namespace CarbonMonoxideConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace CarbonMonoxideConcentrationMeasurement - -namespace CarbonDioxideConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace CarbonDioxideConcentrationMeasurement - -namespace EthyleneConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace EthyleneConcentrationMeasurement - -namespace EthyleneOxideConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace EthyleneOxideConcentrationMeasurement - -namespace HydrogenConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace HydrogenConcentrationMeasurement - -namespace HydrogenSulphideConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace HydrogenSulphideConcentrationMeasurement - -namespace NitricOxideConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace NitricOxideConcentrationMeasurement - -namespace NitrogenDioxideConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace NitrogenDioxideConcentrationMeasurement - -namespace OxygenConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace OxygenConcentrationMeasurement - -namespace OzoneConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace OzoneConcentrationMeasurement - -namespace SulfurDioxideConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace SulfurDioxideConcentrationMeasurement - -namespace DissolvedOxygenConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace DissolvedOxygenConcentrationMeasurement - -namespace BromateConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace BromateConcentrationMeasurement - -namespace ChloraminesConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ChloraminesConcentrationMeasurement - -namespace ChlorineConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ChlorineConcentrationMeasurement - -namespace FecalColiformAndEColiConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace FecalColiformAndEColiConcentrationMeasurement - -namespace FluorideConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace FluorideConcentrationMeasurement - -namespace HaloaceticAcidsConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace HaloaceticAcidsConcentrationMeasurement - -namespace TotalTrihalomethanesConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace TotalTrihalomethanesConcentrationMeasurement - -namespace TotalColiformBacteriaConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace TotalColiformBacteriaConcentrationMeasurement - -namespace TurbidityConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace TurbidityConcentrationMeasurement - -namespace CopperConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace CopperConcentrationMeasurement - -namespace LeadConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace LeadConcentrationMeasurement - -namespace ManganeseConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ManganeseConcentrationMeasurement - -namespace SulfateConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace SulfateConcentrationMeasurement - -namespace BromodichloromethaneConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace BromodichloromethaneConcentrationMeasurement - -namespace BromoformConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue - -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue - -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace BromoformConcentrationMeasurement - -namespace ChlorodibromomethaneConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +EmberAfStatus SetNull(chip::EndpointId endpoint); +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value); } // namespace MeasuredValue namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value); // int16u +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +EmberAfStatus SetNull(chip::EndpointId endpoint); +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value); } // namespace MinMeasuredValue namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value); // int16u +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +EmberAfStatus SetNull(chip::EndpointId endpoint); +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value); } // namespace MaxMeasuredValue namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); } // namespace Tolerance namespace FeatureMap { @@ -5309,29 +3514,35 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); } // namespace ClusterRevision } // namespace Attributes -} // namespace ChlorodibromomethaneConcentrationMeasurement +} // namespace FlowMeasurement -namespace ChloroformConcentrationMeasurement { +namespace RelativeHumidityMeasurement { namespace Attributes { namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value); // int16u +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +EmberAfStatus SetNull(chip::EndpointId endpoint); +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value); } // namespace MeasuredValue namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value); // int16u +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +EmberAfStatus SetNull(chip::EndpointId endpoint); +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value); } // namespace MinMeasuredValue namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); +EmberAfStatus Get(chip::EndpointId endpoint, DataModel::Nullable & value); // int16u +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +EmberAfStatus SetNull(chip::EndpointId endpoint); +EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value); } // namespace MaxMeasuredValue namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); } // namespace Tolerance namespace FeatureMap { @@ -5345,30 +3556,70 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); } // namespace ClusterRevision } // namespace Attributes -} // namespace ChloroformConcentrationMeasurement +} // namespace RelativeHumidityMeasurement -namespace SodiumConcentrationMeasurement { +namespace OccupancySensing { namespace Attributes { -namespace MeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MeasuredValue +namespace Occupancy { +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // bitmap8 +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); +} // namespace Occupancy -namespace MinMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MinMeasuredValue +namespace OccupancySensorType { +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // enum8 +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); +} // namespace OccupancySensorType -namespace MaxMeasuredValue { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace MaxMeasuredValue +namespace OccupancySensorTypeBitmap { +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // bitmap8 +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); +} // namespace OccupancySensorTypeBitmap -namespace Tolerance { -EmberAfStatus Get(chip::EndpointId endpoint, float * value); // single -EmberAfStatus Set(chip::EndpointId endpoint, float value); -} // namespace Tolerance +namespace PirOccupiedToUnoccupiedDelay { +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +} // namespace PirOccupiedToUnoccupiedDelay + +namespace PirUnoccupiedToOccupiedDelay { +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +} // namespace PirUnoccupiedToOccupiedDelay + +namespace PirUnoccupiedToOccupiedThreshold { +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); +} // namespace PirUnoccupiedToOccupiedThreshold + +namespace UltrasonicOccupiedToUnoccupiedDelay { +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +} // namespace UltrasonicOccupiedToUnoccupiedDelay + +namespace UltrasonicUnoccupiedToOccupiedDelay { +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +} // namespace UltrasonicUnoccupiedToOccupiedDelay + +namespace UltrasonicUnoccupiedToOccupiedThreshold { +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); +} // namespace UltrasonicUnoccupiedToOccupiedThreshold + +namespace PhysicalContactOccupiedToUnoccupiedDelay { +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +} // namespace PhysicalContactOccupiedToUnoccupiedDelay + +namespace PhysicalContactUnoccupiedToOccupiedDelay { +EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u +EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +} // namespace PhysicalContactUnoccupiedToOccupiedDelay + +namespace PhysicalContactUnoccupiedToOccupiedThreshold { +EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u +EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); +} // namespace PhysicalContactUnoccupiedToOccupiedThreshold namespace FeatureMap { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 @@ -5381,7 +3632,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); } // namespace ClusterRevision } // namespace Attributes -} // namespace SodiumConcentrationMeasurement +} // namespace OccupancySensing namespace WakeOnLan { namespace Attributes { @@ -5669,200 +3920,6 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); } // namespace Attributes } // namespace AccountLogin -namespace ApplianceIdentification { -namespace Attributes { - -namespace BasicIdentification { -EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * value); // int56u -EmberAfStatus Set(chip::EndpointId endpoint, uint64_t value); -} // namespace BasicIdentification - -namespace CompanyName { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value); -} // namespace CompanyName - -namespace CompanyId { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace CompanyId - -namespace BrandName { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value); -} // namespace BrandName - -namespace BrandId { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace BrandId - -namespace Model { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value); // octet_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value); -} // namespace Model - -namespace PartNumber { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value); // octet_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value); -} // namespace PartNumber - -namespace ProductRevision { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value); // octet_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value); -} // namespace ProductRevision - -namespace SoftwareRevision { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value); // octet_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value); -} // namespace SoftwareRevision - -namespace ProductTypeName { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value); // octet_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value); -} // namespace ProductTypeName - -namespace ProductTypeId { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ProductTypeId - -namespace CecedSpecificationVersion { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace CecedSpecificationVersion - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ApplianceIdentification - -namespace MeterIdentification { -namespace Attributes { - -namespace CompanyName { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value); -} // namespace CompanyName - -namespace MeterTypeId { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace MeterTypeId - -namespace DataQualityId { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace DataQualityId - -namespace CustomerName { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value); -} // namespace CustomerName - -namespace Model { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value); // octet_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value); -} // namespace Model - -namespace PartNumber { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value); // octet_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value); -} // namespace PartNumber - -namespace ProductRevision { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value); // octet_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value); -} // namespace ProductRevision - -namespace SoftwareRevision { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableByteSpan value); // octet_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::ByteSpan value); -} // namespace SoftwareRevision - -namespace UtilityName { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value); -} // namespace UtilityName - -namespace Pod { -EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string -EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value); -} // namespace Pod - -namespace AvailablePower { -EmberAfStatus Get(chip::EndpointId endpoint, int32_t * value); // int24s -EmberAfStatus Set(chip::EndpointId endpoint, int32_t value); -} // namespace AvailablePower - -namespace PowerThreshold { -EmberAfStatus Get(chip::EndpointId endpoint, int32_t * value); // int24s -EmberAfStatus Set(chip::EndpointId endpoint, int32_t value); -} // namespace PowerThreshold - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace MeterIdentification - -namespace ApplianceEventsAndAlert { -namespace Attributes { - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ApplianceEventsAndAlert - -namespace ApplianceStatistics { -namespace Attributes { - -namespace LogMaxSize { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // int32u -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace LogMaxSize - -namespace LogQueueMaxSize { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // int8u -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); -} // namespace LogQueueMaxSize - -namespace FeatureMap { -EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 -EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value); -} // namespace FeatureMap - -namespace ClusterRevision { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ApplianceStatistics - namespace ElectricalMeasurement { namespace Attributes { diff --git a/zzz_generated/app-common/app-common/zap-generated/callback.h b/zzz_generated/app-common/app-common/zap-generated/callback.h index 0283da63b4d167..0336d05ff483ed 100644 --- a/zzz_generated/app-common/app-common/zap-generated/callback.h +++ b/zzz_generated/app-common/app-common/zap-generated/callback.h @@ -45,22 +45,6 @@ void emberAfClusterInitCallback(chip::EndpointId endpoint, chip::ClusterId clust // Cluster Init Functions -/** @brief Power Configuration Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfPowerConfigurationClusterInitCallback(chip::EndpointId endpoint); - -/** @brief Device Temperature Configuration Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfDeviceTemperatureConfigurationClusterInitCallback(chip::EndpointId endpoint); - /** @brief Identify Cluster Init * * Cluster Init @@ -109,22 +93,6 @@ void emberAfOnOffSwitchConfigurationClusterInitCallback(chip::EndpointId endpoin */ void emberAfLevelControlClusterInitCallback(chip::EndpointId endpoint); -/** @brief Alarms Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfAlarmsClusterInitCallback(chip::EndpointId endpoint); - -/** @brief Time Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfTimeClusterInitCallback(chip::EndpointId endpoint); - /** @brief Binary Input (Basic) Cluster Init * * Cluster Init @@ -133,22 +101,6 @@ void emberAfTimeClusterInitCallback(chip::EndpointId endpoint); */ void emberAfBinaryInputBasicClusterInitCallback(chip::EndpointId endpoint); -/** @brief Power Profile Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfPowerProfileClusterInitCallback(chip::EndpointId endpoint); - -/** @brief Appliance Control Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfApplianceControlClusterInitCallback(chip::EndpointId endpoint); - /** @brief Pulse Width Modulation Cluster Init * * Cluster Init @@ -181,14 +133,6 @@ void emberAfBindingClusterInitCallback(chip::EndpointId endpoint); */ void emberAfAccessControlClusterInitCallback(chip::EndpointId endpoint); -/** @brief Poll Control Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfPollControlClusterInitCallback(chip::EndpointId endpoint); - /** @brief Bridged Actions Cluster Init * * Cluster Init @@ -429,14 +373,6 @@ void emberAfBooleanStateClusterInitCallback(chip::EndpointId endpoint); */ void emberAfModeSelectClusterInitCallback(chip::EndpointId endpoint); -/** @brief Shade Configuration Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfShadeConfigurationClusterInitCallback(chip::EndpointId endpoint); - /** @brief Door Lock Cluster Init * * Cluster Init @@ -485,14 +421,6 @@ void emberAfThermostatClusterInitCallback(chip::EndpointId endpoint); */ void emberAfFanControlClusterInitCallback(chip::EndpointId endpoint); -/** @brief Dehumidification Control Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfDehumidificationControlClusterInitCallback(chip::EndpointId endpoint); - /** @brief Thermostat User Interface Configuration Cluster Init * * Cluster Init @@ -565,4756 +493,341 @@ void emberAfRelativeHumidityMeasurementClusterInitCallback(chip::EndpointId endp */ void emberAfOccupancySensingClusterInitCallback(chip::EndpointId endpoint); -/** @brief Carbon Monoxide Concentration Measurement Cluster Init +/** @brief Wake on LAN Cluster Init * * Cluster Init * * @param endpoint Endpoint that is being initialized */ -void emberAfCarbonMonoxideConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfWakeOnLanClusterInitCallback(chip::EndpointId endpoint); -/** @brief Carbon Dioxide Concentration Measurement Cluster Init +/** @brief Channel Cluster Init * * Cluster Init * * @param endpoint Endpoint that is being initialized */ -void emberAfCarbonDioxideConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfChannelClusterInitCallback(chip::EndpointId endpoint); -/** @brief Ethylene Concentration Measurement Cluster Init +/** @brief Target Navigator Cluster Init * * Cluster Init * * @param endpoint Endpoint that is being initialized */ -void emberAfEthyleneConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfTargetNavigatorClusterInitCallback(chip::EndpointId endpoint); -/** @brief Ethylene Oxide Concentration Measurement Cluster Init +/** @brief Media Playback Cluster Init * * Cluster Init * * @param endpoint Endpoint that is being initialized */ -void emberAfEthyleneOxideConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfMediaPlaybackClusterInitCallback(chip::EndpointId endpoint); -/** @brief Hydrogen Concentration Measurement Cluster Init +/** @brief Media Input Cluster Init * * Cluster Init * * @param endpoint Endpoint that is being initialized */ -void emberAfHydrogenConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfMediaInputClusterInitCallback(chip::EndpointId endpoint); -/** @brief Hydrogen Sulphide Concentration Measurement Cluster Init +/** @brief Low Power Cluster Init * * Cluster Init * * @param endpoint Endpoint that is being initialized */ -void emberAfHydrogenSulphideConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfLowPowerClusterInitCallback(chip::EndpointId endpoint); -/** @brief Nitric Oxide Concentration Measurement Cluster Init +/** @brief Keypad Input Cluster Init * * Cluster Init * * @param endpoint Endpoint that is being initialized */ -void emberAfNitricOxideConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfKeypadInputClusterInitCallback(chip::EndpointId endpoint); -/** @brief Nitrogen Dioxide Concentration Measurement Cluster Init +/** @brief Content Launcher Cluster Init * * Cluster Init * * @param endpoint Endpoint that is being initialized */ -void emberAfNitrogenDioxideConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfContentLauncherClusterInitCallback(chip::EndpointId endpoint); -/** @brief Oxygen Concentration Measurement Cluster Init +/** @brief Audio Output Cluster Init * * Cluster Init * * @param endpoint Endpoint that is being initialized */ -void emberAfOxygenConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfAudioOutputClusterInitCallback(chip::EndpointId endpoint); -/** @brief Ozone Concentration Measurement Cluster Init +/** @brief Application Launcher Cluster Init * * Cluster Init * * @param endpoint Endpoint that is being initialized */ -void emberAfOzoneConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfApplicationLauncherClusterInitCallback(chip::EndpointId endpoint); -/** @brief Sulfur Dioxide Concentration Measurement Cluster Init +/** @brief Application Basic Cluster Init * * Cluster Init * * @param endpoint Endpoint that is being initialized */ -void emberAfSulfurDioxideConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfApplicationBasicClusterInitCallback(chip::EndpointId endpoint); -/** @brief Dissolved Oxygen Concentration Measurement Cluster Init +/** @brief Account Login Cluster Init * * Cluster Init * * @param endpoint Endpoint that is being initialized */ -void emberAfDissolvedOxygenConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfAccountLoginClusterInitCallback(chip::EndpointId endpoint); -/** @brief Bromate Concentration Measurement Cluster Init +/** @brief Electrical Measurement Cluster Init * * Cluster Init * * @param endpoint Endpoint that is being initialized */ -void emberAfBromateConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfElectricalMeasurementClusterInitCallback(chip::EndpointId endpoint); -/** @brief Chloramines Concentration Measurement Cluster Init +/** @brief Test Cluster Cluster Init * * Cluster Init * * @param endpoint Endpoint that is being initialized */ -void emberAfChloraminesConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfTestClusterClusterInitCallback(chip::EndpointId endpoint); + +// Cluster Server/Client Init Functions + +// +// Identify Cluster +// -/** @brief Chlorine Concentration Measurement Cluster Init +/** @brief Identify Cluster Server Init * - * Cluster Init + * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfChlorineConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfIdentifyClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Fecal coliform and E. Coli Concentration Measurement Cluster Init +/** @brief Identify Cluster Client Init * - * Cluster Init + * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfFecalColiformAndEColiConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfIdentifyClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Fluoride Concentration Measurement Cluster Init +/** @brief Identify Cluster Server Attribute Changed * - * Cluster Init + * Server Attribute Changed * - * @param endpoint Endpoint that is being initialized + * @param attributePath Concrete attribute path that changed */ -void emberAfFluorideConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void MatterIdentifyClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Haloacetic Acids Concentration Measurement Cluster Init +/** @brief Identify Cluster Server Message Sent * - * Cluster Init + * Server Message Sent * - * @param endpoint Endpoint that is being initialized + * @param destination The destination to which the message was sent + * @param apsFrame The APS frame for the message + * @param msgLen The length of the message + * @param message The message that was sent + * @param status The status of the sent message */ -void emberAfHaloaceticAcidsConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfIdentifyClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Total Trihalomethanes Concentration Measurement Cluster Init +/** @brief Identify Cluster Client Message Sent * - * Cluster Init + * Client Message Sent * - * @param endpoint Endpoint that is being initialized + * @param destination The destination to which the message was sent + * @param apsFrame The APS frame for the message + * @param msgLen The length of the message + * @param message The message that was sent + * @param status The status of the sent message */ -void emberAfTotalTrihalomethanesConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfIdentifyClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Total Coliform Bacteria Concentration Measurement Cluster Init +/** @brief Identify Cluster Server Pre Attribute Changed * - * Cluster Init + * Server Pre Attribute Changed * - * @param endpoint Endpoint that is being initialized + * @param attributePath Concrete attribute path to be changed + * @param attributeType Attribute type + * @param size Attribute size + * @param value Attribute value */ -void emberAfTotalColiformBacteriaConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +chip::Protocols::InteractionModel::Status +MatterIdentifyClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Turbidity Concentration Measurement Cluster Init +/** @brief Identify Cluster Client Pre Attribute Changed * - * Cluster Init + * Client Pre Attribute Changed * - * @param endpoint Endpoint that is being initialized + * @param attributePath Concrete attribute path to be changed + * @param attributeType Attribute type + * @param size Attribute size + * @param value Attribute value */ -void emberAfTurbidityConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +chip::Protocols::InteractionModel::Status +MatterIdentifyClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Copper Concentration Measurement Cluster Init +/** @brief Identify Cluster Server Tick * - * Cluster Init + * Server Tick * - * @param endpoint Endpoint that is being initialized + * @param endpoint Endpoint that is being served */ -void emberAfCopperConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfIdentifyClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Lead Concentration Measurement Cluster Init +/** @brief Identify Cluster Client Tick * - * Cluster Init + * Client Tick * - * @param endpoint Endpoint that is being initialized + * @param endpoint Endpoint that is being served */ -void emberAfLeadConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfIdentifyClusterClientTickCallback(chip::EndpointId endpoint); + +// +// Groups Cluster +// -/** @brief Manganese Concentration Measurement Cluster Init +/** @brief Groups Cluster Server Init * - * Cluster Init + * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfManganeseConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfGroupsClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Sulfate Concentration Measurement Cluster Init +/** @brief Groups Cluster Client Init * - * Cluster Init + * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfSulfateConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfGroupsClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Bromodichloromethane Concentration Measurement Cluster Init +/** @brief Groups Cluster Server Attribute Changed * - * Cluster Init + * Server Attribute Changed * - * @param endpoint Endpoint that is being initialized + * @param attributePath Concrete attribute path that changed */ -void emberAfBromodichloromethaneConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void MatterGroupsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Bromoform Concentration Measurement Cluster Init +/** @brief Groups Cluster Server Message Sent * - * Cluster Init + * Server Message Sent * - * @param endpoint Endpoint that is being initialized + * @param destination The destination to which the message was sent + * @param apsFrame The APS frame for the message + * @param msgLen The length of the message + * @param message The message that was sent + * @param status The status of the sent message */ -void emberAfBromoformConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfGroupsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Chlorodibromomethane Concentration Measurement Cluster Init +/** @brief Groups Cluster Client Message Sent * - * Cluster Init + * Client Message Sent * - * @param endpoint Endpoint that is being initialized + * @param destination The destination to which the message was sent + * @param apsFrame The APS frame for the message + * @param msgLen The length of the message + * @param message The message that was sent + * @param status The status of the sent message */ -void emberAfChlorodibromomethaneConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +void emberAfGroupsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Chloroform Concentration Measurement Cluster Init +/** @brief Groups Cluster Server Pre Attribute Changed * - * Cluster Init + * Server Pre Attribute Changed * - * @param endpoint Endpoint that is being initialized + * @param attributePath Concrete attribute path to be changed + * @param attributeType Attribute type + * @param size Attribute size + * @param value Attribute value */ -void emberAfChloroformConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +chip::Protocols::InteractionModel::Status +MatterGroupsClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Sodium Concentration Measurement Cluster Init +/** @brief Groups Cluster Client Pre Attribute Changed * - * Cluster Init + * Client Pre Attribute Changed * - * @param endpoint Endpoint that is being initialized + * @param attributePath Concrete attribute path to be changed + * @param attributeType Attribute type + * @param size Attribute size + * @param value Attribute value */ -void emberAfSodiumConcentrationMeasurementClusterInitCallback(chip::EndpointId endpoint); +chip::Protocols::InteractionModel::Status +MatterGroupsClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Wake on LAN Cluster Init +/** @brief Groups Cluster Server Tick * - * Cluster Init + * Server Tick * - * @param endpoint Endpoint that is being initialized + * @param endpoint Endpoint that is being served */ -void emberAfWakeOnLanClusterInitCallback(chip::EndpointId endpoint); +void emberAfGroupsClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Channel Cluster Init +/** @brief Groups Cluster Client Tick * - * Cluster Init + * Client Tick * - * @param endpoint Endpoint that is being initialized + * @param endpoint Endpoint that is being served */ -void emberAfChannelClusterInitCallback(chip::EndpointId endpoint); +void emberAfGroupsClusterClientTickCallback(chip::EndpointId endpoint); -/** @brief Target Navigator Cluster Init +// +// Scenes Cluster +// + +/** @brief Scenes Cluster Server Init * - * Cluster Init + * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfTargetNavigatorClusterInitCallback(chip::EndpointId endpoint); +void emberAfScenesClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Media Playback Cluster Init +/** @brief Scenes Cluster Client Init * - * Cluster Init + * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfMediaPlaybackClusterInitCallback(chip::EndpointId endpoint); +void emberAfScenesClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Media Input Cluster Init +/** @brief Scenes Cluster Server Attribute Changed * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfMediaInputClusterInitCallback(chip::EndpointId endpoint); - -/** @brief Low Power Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfLowPowerClusterInitCallback(chip::EndpointId endpoint); - -/** @brief Keypad Input Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfKeypadInputClusterInitCallback(chip::EndpointId endpoint); - -/** @brief Content Launcher Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfContentLauncherClusterInitCallback(chip::EndpointId endpoint); - -/** @brief Audio Output Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfAudioOutputClusterInitCallback(chip::EndpointId endpoint); - -/** @brief Application Launcher Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfApplicationLauncherClusterInitCallback(chip::EndpointId endpoint); - -/** @brief Application Basic Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfApplicationBasicClusterInitCallback(chip::EndpointId endpoint); - -/** @brief Account Login Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfAccountLoginClusterInitCallback(chip::EndpointId endpoint); - -/** @brief Appliance Identification Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfApplianceIdentificationClusterInitCallback(chip::EndpointId endpoint); - -/** @brief Meter Identification Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfMeterIdentificationClusterInitCallback(chip::EndpointId endpoint); - -/** @brief Appliance Events and Alert Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfApplianceEventsAndAlertClusterInitCallback(chip::EndpointId endpoint); - -/** @brief Appliance Statistics Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfApplianceStatisticsClusterInitCallback(chip::EndpointId endpoint); - -/** @brief Electrical Measurement Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfElectricalMeasurementClusterInitCallback(chip::EndpointId endpoint); - -/** @brief Test Cluster Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfTestClusterClusterInitCallback(chip::EndpointId endpoint); - -// Cluster Server/Client Init Functions - -// -// Power Configuration Cluster -// - -/** @brief Power Configuration Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfPowerConfigurationClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Power Configuration Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfPowerConfigurationClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Power Configuration Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterPowerConfigurationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Power Configuration Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfPowerConfigurationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Power Configuration Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfPowerConfigurationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Power Configuration Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterPowerConfigurationClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Power Configuration Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterPowerConfigurationClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Power Configuration Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfPowerConfigurationClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Power Configuration Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfPowerConfigurationClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Device Temperature Configuration Cluster -// - -/** @brief Device Temperature Configuration Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfDeviceTemperatureConfigurationClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Device Temperature Configuration Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfDeviceTemperatureConfigurationClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Device Temperature Configuration Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterDeviceTemperatureConfigurationClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Device Temperature Configuration Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfDeviceTemperatureConfigurationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); - -/** @brief Device Temperature Configuration Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfDeviceTemperatureConfigurationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); - -/** @brief Device Temperature Configuration Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterDeviceTemperatureConfigurationClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Device Temperature Configuration Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterDeviceTemperatureConfigurationClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Device Temperature Configuration Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfDeviceTemperatureConfigurationClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Device Temperature Configuration Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfDeviceTemperatureConfigurationClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Identify Cluster -// - -/** @brief Identify Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfIdentifyClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Identify Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfIdentifyClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Identify Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterIdentifyClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Identify Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfIdentifyClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Identify Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfIdentifyClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Identify Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterIdentifyClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Identify Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterIdentifyClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Identify Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfIdentifyClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Identify Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfIdentifyClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Groups Cluster -// - -/** @brief Groups Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfGroupsClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Groups Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfGroupsClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Groups Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterGroupsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Groups Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfGroupsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Groups Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfGroupsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Groups Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterGroupsClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Groups Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterGroupsClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Groups Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfGroupsClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Groups Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfGroupsClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Scenes Cluster -// - -/** @brief Scenes Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfScenesClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Scenes Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfScenesClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Scenes Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterScenesClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Scenes Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfScenesClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Scenes Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfScenesClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Scenes Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterScenesClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Scenes Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterScenesClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Scenes Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfScenesClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Scenes Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfScenesClusterClientTickCallback(chip::EndpointId endpoint); - -// -// On/Off Cluster -// - -/** @brief On/Off Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfOnOffClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief On/Off Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfOnOffClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief On/Off Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterOnOffClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief On/Off Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfOnOffClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief On/Off Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfOnOffClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief On/Off Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterOnOffClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief On/Off Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterOnOffClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief On/Off Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfOnOffClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief On/Off Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfOnOffClusterClientTickCallback(chip::EndpointId endpoint); - -// -// On/off Switch Configuration Cluster -// - -/** @brief On/off Switch Configuration Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfOnOffSwitchConfigurationClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief On/off Switch Configuration Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfOnOffSwitchConfigurationClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief On/off Switch Configuration Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterOnOffSwitchConfigurationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief On/off Switch Configuration Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfOnOffSwitchConfigurationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief On/off Switch Configuration Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfOnOffSwitchConfigurationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief On/off Switch Configuration Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterOnOffSwitchConfigurationClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief On/off Switch Configuration Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterOnOffSwitchConfigurationClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief On/off Switch Configuration Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfOnOffSwitchConfigurationClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief On/off Switch Configuration Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfOnOffSwitchConfigurationClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Level Control Cluster -// - -/** @brief Level Control Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfLevelControlClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Level Control Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfLevelControlClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Level Control Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterLevelControlClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Level Control Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfLevelControlClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Level Control Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfLevelControlClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Level Control Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterLevelControlClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Level Control Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterLevelControlClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Level Control Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfLevelControlClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Level Control Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfLevelControlClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Alarms Cluster -// - -/** @brief Alarms Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfAlarmsClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Alarms Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfAlarmsClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Alarms Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterAlarmsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Alarms Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfAlarmsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Alarms Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfAlarmsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Alarms Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterAlarmsClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Alarms Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterAlarmsClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Alarms Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfAlarmsClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Alarms Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfAlarmsClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Time Cluster -// - -/** @brief Time Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfTimeClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Time Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfTimeClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Time Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterTimeClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Time Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfTimeClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Time Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfTimeClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Time Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterTimeClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Time Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterTimeClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Time Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfTimeClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Time Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfTimeClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Binary Input (Basic) Cluster -// - -/** @brief Binary Input (Basic) Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfBinaryInputBasicClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Binary Input (Basic) Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfBinaryInputBasicClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Binary Input (Basic) Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterBinaryInputBasicClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Binary Input (Basic) Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfBinaryInputBasicClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Binary Input (Basic) Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfBinaryInputBasicClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Binary Input (Basic) Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterBinaryInputBasicClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Binary Input (Basic) Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterBinaryInputBasicClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Binary Input (Basic) Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfBinaryInputBasicClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Binary Input (Basic) Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfBinaryInputBasicClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Power Profile Cluster -// - -/** @brief Power Profile Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfPowerProfileClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Power Profile Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfPowerProfileClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Power Profile Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterPowerProfileClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Power Profile Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfPowerProfileClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Power Profile Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfPowerProfileClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Power Profile Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterPowerProfileClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Power Profile Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterPowerProfileClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Power Profile Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfPowerProfileClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Power Profile Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfPowerProfileClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Appliance Control Cluster -// - -/** @brief Appliance Control Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfApplianceControlClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Appliance Control Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfApplianceControlClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Appliance Control Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterApplianceControlClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Appliance Control Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfApplianceControlClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Appliance Control Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfApplianceControlClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Appliance Control Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterApplianceControlClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Appliance Control Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterApplianceControlClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Appliance Control Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfApplianceControlClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Appliance Control Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfApplianceControlClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Pulse Width Modulation Cluster -// - -/** @brief Pulse Width Modulation Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfPulseWidthModulationClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Pulse Width Modulation Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfPulseWidthModulationClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Pulse Width Modulation Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterPulseWidthModulationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Pulse Width Modulation Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfPulseWidthModulationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Pulse Width Modulation Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfPulseWidthModulationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Pulse Width Modulation Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterPulseWidthModulationClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Pulse Width Modulation Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterPulseWidthModulationClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Pulse Width Modulation Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfPulseWidthModulationClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Pulse Width Modulation Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfPulseWidthModulationClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Descriptor Cluster -// - -/** @brief Descriptor Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfDescriptorClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Descriptor Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfDescriptorClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Descriptor Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterDescriptorClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Descriptor Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfDescriptorClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Descriptor Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfDescriptorClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Descriptor Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterDescriptorClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Descriptor Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterDescriptorClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Descriptor Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfDescriptorClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Descriptor Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfDescriptorClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Binding Cluster -// - -/** @brief Binding Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfBindingClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Binding Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfBindingClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Binding Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterBindingClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Binding Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfBindingClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Binding Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfBindingClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Binding Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterBindingClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Binding Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterBindingClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Binding Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfBindingClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Binding Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfBindingClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Access Control Cluster -// - -/** @brief Access Control Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfAccessControlClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Access Control Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfAccessControlClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Access Control Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterAccessControlClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Access Control Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfAccessControlClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Access Control Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfAccessControlClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Access Control Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterAccessControlClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Access Control Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterAccessControlClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Access Control Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfAccessControlClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Access Control Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfAccessControlClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Poll Control Cluster -// - -/** @brief Poll Control Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfPollControlClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Poll Control Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfPollControlClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Poll Control Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterPollControlClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Poll Control Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfPollControlClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Poll Control Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfPollControlClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Poll Control Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterPollControlClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Poll Control Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterPollControlClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Poll Control Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfPollControlClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Poll Control Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfPollControlClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Bridged Actions Cluster -// - -/** @brief Bridged Actions Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfBridgedActionsClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Bridged Actions Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfBridgedActionsClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Bridged Actions Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterBridgedActionsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Bridged Actions Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfBridgedActionsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Bridged Actions Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfBridgedActionsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Bridged Actions Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterBridgedActionsClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Bridged Actions Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterBridgedActionsClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Bridged Actions Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfBridgedActionsClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Bridged Actions Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfBridgedActionsClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Basic Cluster -// - -/** @brief Basic Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfBasicClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Basic Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfBasicClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Basic Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterBasicClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Basic Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfBasicClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Basic Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfBasicClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Basic Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterBasicClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Basic Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterBasicClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Basic Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfBasicClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Basic Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfBasicClusterClientTickCallback(chip::EndpointId endpoint); - -// -// OTA Software Update Provider Cluster -// - -/** @brief OTA Software Update Provider Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfOtaSoftwareUpdateProviderClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief OTA Software Update Provider Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfOtaSoftwareUpdateProviderClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief OTA Software Update Provider Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterOtaSoftwareUpdateProviderClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief OTA Software Update Provider Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfOtaSoftwareUpdateProviderClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief OTA Software Update Provider Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfOtaSoftwareUpdateProviderClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief OTA Software Update Provider Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterOtaSoftwareUpdateProviderClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief OTA Software Update Provider Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterOtaSoftwareUpdateProviderClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief OTA Software Update Provider Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfOtaSoftwareUpdateProviderClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief OTA Software Update Provider Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfOtaSoftwareUpdateProviderClusterClientTickCallback(chip::EndpointId endpoint); - -// -// OTA Software Update Requestor Cluster -// - -/** @brief OTA Software Update Requestor Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfOtaSoftwareUpdateRequestorClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief OTA Software Update Requestor Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfOtaSoftwareUpdateRequestorClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief OTA Software Update Requestor Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterOtaSoftwareUpdateRequestorClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief OTA Software Update Requestor Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfOtaSoftwareUpdateRequestorClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief OTA Software Update Requestor Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfOtaSoftwareUpdateRequestorClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief OTA Software Update Requestor Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterOtaSoftwareUpdateRequestorClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief OTA Software Update Requestor Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterOtaSoftwareUpdateRequestorClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief OTA Software Update Requestor Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfOtaSoftwareUpdateRequestorClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief OTA Software Update Requestor Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfOtaSoftwareUpdateRequestorClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Localization Configuration Cluster -// - -/** @brief Localization Configuration Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfLocalizationConfigurationClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Localization Configuration Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfLocalizationConfigurationClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Localization Configuration Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterLocalizationConfigurationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Localization Configuration Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfLocalizationConfigurationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Localization Configuration Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfLocalizationConfigurationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Localization Configuration Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterLocalizationConfigurationClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Localization Configuration Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterLocalizationConfigurationClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Localization Configuration Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfLocalizationConfigurationClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Localization Configuration Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfLocalizationConfigurationClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Time Format Localization Cluster -// - -/** @brief Time Format Localization Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfTimeFormatLocalizationClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Time Format Localization Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfTimeFormatLocalizationClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Time Format Localization Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterTimeFormatLocalizationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Time Format Localization Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfTimeFormatLocalizationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Time Format Localization Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfTimeFormatLocalizationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Time Format Localization Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterTimeFormatLocalizationClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Time Format Localization Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterTimeFormatLocalizationClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Time Format Localization Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfTimeFormatLocalizationClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Time Format Localization Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfTimeFormatLocalizationClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Unit Localization Cluster -// - -/** @brief Unit Localization Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfUnitLocalizationClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Unit Localization Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfUnitLocalizationClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Unit Localization Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterUnitLocalizationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Unit Localization Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfUnitLocalizationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Unit Localization Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfUnitLocalizationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Unit Localization Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterUnitLocalizationClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Unit Localization Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterUnitLocalizationClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Unit Localization Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfUnitLocalizationClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Unit Localization Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfUnitLocalizationClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Power Source Configuration Cluster -// - -/** @brief Power Source Configuration Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfPowerSourceConfigurationClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Power Source Configuration Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfPowerSourceConfigurationClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Power Source Configuration Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterPowerSourceConfigurationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Power Source Configuration Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfPowerSourceConfigurationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Power Source Configuration Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfPowerSourceConfigurationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Power Source Configuration Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterPowerSourceConfigurationClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Power Source Configuration Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterPowerSourceConfigurationClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Power Source Configuration Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfPowerSourceConfigurationClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Power Source Configuration Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfPowerSourceConfigurationClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Power Source Cluster -// - -/** @brief Power Source Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfPowerSourceClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Power Source Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfPowerSourceClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Power Source Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterPowerSourceClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Power Source Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfPowerSourceClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Power Source Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfPowerSourceClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Power Source Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterPowerSourceClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Power Source Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterPowerSourceClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Power Source Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfPowerSourceClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Power Source Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfPowerSourceClusterClientTickCallback(chip::EndpointId endpoint); - -// -// General Commissioning Cluster -// - -/** @brief General Commissioning Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfGeneralCommissioningClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief General Commissioning Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfGeneralCommissioningClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief General Commissioning Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterGeneralCommissioningClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief General Commissioning Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfGeneralCommissioningClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief General Commissioning Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfGeneralCommissioningClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief General Commissioning Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterGeneralCommissioningClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief General Commissioning Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterGeneralCommissioningClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief General Commissioning Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfGeneralCommissioningClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief General Commissioning Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfGeneralCommissioningClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Network Commissioning Cluster -// - -/** @brief Network Commissioning Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfNetworkCommissioningClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Network Commissioning Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfNetworkCommissioningClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Network Commissioning Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterNetworkCommissioningClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Network Commissioning Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfNetworkCommissioningClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Network Commissioning Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfNetworkCommissioningClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Network Commissioning Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterNetworkCommissioningClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Network Commissioning Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterNetworkCommissioningClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Network Commissioning Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfNetworkCommissioningClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Network Commissioning Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfNetworkCommissioningClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Diagnostic Logs Cluster -// - -/** @brief Diagnostic Logs Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfDiagnosticLogsClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Diagnostic Logs Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfDiagnosticLogsClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Diagnostic Logs Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterDiagnosticLogsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Diagnostic Logs Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfDiagnosticLogsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Diagnostic Logs Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfDiagnosticLogsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Diagnostic Logs Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterDiagnosticLogsClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Diagnostic Logs Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterDiagnosticLogsClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Diagnostic Logs Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfDiagnosticLogsClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Diagnostic Logs Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfDiagnosticLogsClusterClientTickCallback(chip::EndpointId endpoint); - -// -// General Diagnostics Cluster -// - -/** @brief General Diagnostics Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfGeneralDiagnosticsClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief General Diagnostics Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfGeneralDiagnosticsClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief General Diagnostics Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterGeneralDiagnosticsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief General Diagnostics Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfGeneralDiagnosticsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief General Diagnostics Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfGeneralDiagnosticsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief General Diagnostics Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterGeneralDiagnosticsClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief General Diagnostics Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterGeneralDiagnosticsClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief General Diagnostics Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfGeneralDiagnosticsClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief General Diagnostics Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfGeneralDiagnosticsClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Software Diagnostics Cluster -// - -/** @brief Software Diagnostics Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfSoftwareDiagnosticsClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Software Diagnostics Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfSoftwareDiagnosticsClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Software Diagnostics Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterSoftwareDiagnosticsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Software Diagnostics Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfSoftwareDiagnosticsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Software Diagnostics Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfSoftwareDiagnosticsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Software Diagnostics Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterSoftwareDiagnosticsClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Software Diagnostics Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterSoftwareDiagnosticsClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Software Diagnostics Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfSoftwareDiagnosticsClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Software Diagnostics Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfSoftwareDiagnosticsClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Thread Network Diagnostics Cluster -// - -/** @brief Thread Network Diagnostics Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfThreadNetworkDiagnosticsClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Thread Network Diagnostics Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfThreadNetworkDiagnosticsClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Thread Network Diagnostics Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterThreadNetworkDiagnosticsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Thread Network Diagnostics Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfThreadNetworkDiagnosticsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Thread Network Diagnostics Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfThreadNetworkDiagnosticsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Thread Network Diagnostics Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterThreadNetworkDiagnosticsClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Thread Network Diagnostics Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterThreadNetworkDiagnosticsClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Thread Network Diagnostics Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfThreadNetworkDiagnosticsClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Thread Network Diagnostics Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfThreadNetworkDiagnosticsClusterClientTickCallback(chip::EndpointId endpoint); - -// -// WiFi Network Diagnostics Cluster -// - -/** @brief WiFi Network Diagnostics Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfWiFiNetworkDiagnosticsClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief WiFi Network Diagnostics Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfWiFiNetworkDiagnosticsClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief WiFi Network Diagnostics Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterWiFiNetworkDiagnosticsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief WiFi Network Diagnostics Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfWiFiNetworkDiagnosticsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief WiFi Network Diagnostics Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfWiFiNetworkDiagnosticsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief WiFi Network Diagnostics Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterWiFiNetworkDiagnosticsClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief WiFi Network Diagnostics Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterWiFiNetworkDiagnosticsClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief WiFi Network Diagnostics Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfWiFiNetworkDiagnosticsClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief WiFi Network Diagnostics Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfWiFiNetworkDiagnosticsClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Ethernet Network Diagnostics Cluster -// - -/** @brief Ethernet Network Diagnostics Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfEthernetNetworkDiagnosticsClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Ethernet Network Diagnostics Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfEthernetNetworkDiagnosticsClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Ethernet Network Diagnostics Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterEthernetNetworkDiagnosticsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Ethernet Network Diagnostics Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfEthernetNetworkDiagnosticsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Ethernet Network Diagnostics Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfEthernetNetworkDiagnosticsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Ethernet Network Diagnostics Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterEthernetNetworkDiagnosticsClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Ethernet Network Diagnostics Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterEthernetNetworkDiagnosticsClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Ethernet Network Diagnostics Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfEthernetNetworkDiagnosticsClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Ethernet Network Diagnostics Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfEthernetNetworkDiagnosticsClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Time Synchronization Cluster -// - -/** @brief Time Synchronization Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfTimeSynchronizationClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Time Synchronization Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfTimeSynchronizationClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Time Synchronization Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterTimeSynchronizationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Time Synchronization Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfTimeSynchronizationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Time Synchronization Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfTimeSynchronizationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Time Synchronization Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterTimeSynchronizationClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Time Synchronization Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterTimeSynchronizationClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Time Synchronization Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfTimeSynchronizationClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Time Synchronization Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfTimeSynchronizationClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Bridged Device Basic Cluster -// - -/** @brief Bridged Device Basic Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfBridgedDeviceBasicClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Bridged Device Basic Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfBridgedDeviceBasicClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Bridged Device Basic Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterBridgedDeviceBasicClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Bridged Device Basic Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfBridgedDeviceBasicClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Bridged Device Basic Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfBridgedDeviceBasicClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Bridged Device Basic Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterBridgedDeviceBasicClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Bridged Device Basic Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterBridgedDeviceBasicClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Bridged Device Basic Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfBridgedDeviceBasicClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Bridged Device Basic Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfBridgedDeviceBasicClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Switch Cluster -// - -/** @brief Switch Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfSwitchClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Switch Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfSwitchClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Switch Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterSwitchClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Switch Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfSwitchClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Switch Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfSwitchClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Switch Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterSwitchClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Switch Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterSwitchClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Switch Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfSwitchClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Switch Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfSwitchClusterClientTickCallback(chip::EndpointId endpoint); - -// -// AdministratorCommissioning Cluster -// - -/** @brief AdministratorCommissioning Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfAdministratorCommissioningClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief AdministratorCommissioning Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfAdministratorCommissioningClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief AdministratorCommissioning Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterAdministratorCommissioningClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief AdministratorCommissioning Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfAdministratorCommissioningClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief AdministratorCommissioning Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfAdministratorCommissioningClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief AdministratorCommissioning Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterAdministratorCommissioningClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief AdministratorCommissioning Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterAdministratorCommissioningClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief AdministratorCommissioning Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfAdministratorCommissioningClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief AdministratorCommissioning Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfAdministratorCommissioningClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Operational Credentials Cluster -// - -/** @brief Operational Credentials Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfOperationalCredentialsClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Operational Credentials Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfOperationalCredentialsClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Operational Credentials Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterOperationalCredentialsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Operational Credentials Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfOperationalCredentialsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Operational Credentials Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfOperationalCredentialsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Operational Credentials Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterOperationalCredentialsClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Operational Credentials Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterOperationalCredentialsClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Operational Credentials Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfOperationalCredentialsClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Operational Credentials Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfOperationalCredentialsClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Group Key Management Cluster -// - -/** @brief Group Key Management Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfGroupKeyManagementClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Group Key Management Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfGroupKeyManagementClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Group Key Management Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterGroupKeyManagementClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Group Key Management Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfGroupKeyManagementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Group Key Management Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfGroupKeyManagementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Group Key Management Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterGroupKeyManagementClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Group Key Management Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterGroupKeyManagementClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Group Key Management Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfGroupKeyManagementClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Group Key Management Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfGroupKeyManagementClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Fixed Label Cluster -// - -/** @brief Fixed Label Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfFixedLabelClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Fixed Label Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfFixedLabelClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Fixed Label Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterFixedLabelClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Fixed Label Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfFixedLabelClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Fixed Label Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfFixedLabelClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief Fixed Label Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterFixedLabelClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Fixed Label Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterFixedLabelClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Fixed Label Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfFixedLabelClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Fixed Label Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfFixedLabelClusterClientTickCallback(chip::EndpointId endpoint); - -// -// User Label Cluster -// - -/** @brief User Label Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfUserLabelClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief User Label Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfUserLabelClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief User Label Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterUserLabelClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief User Label Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfUserLabelClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief User Label Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfUserLabelClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); - -/** @brief User Label Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterUserLabelClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief User Label Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterUserLabelClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief User Label Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfUserLabelClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief User Label Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfUserLabelClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Proxy Configuration Cluster -// - -/** @brief Proxy Configuration Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfProxyConfigurationClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Proxy Configuration Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfProxyConfigurationClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Proxy Configuration Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterProxyConfigurationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Proxy Configuration Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfProxyConfigurationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Proxy Configuration Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfProxyConfigurationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Proxy Configuration Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterProxyConfigurationClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Proxy Configuration Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterProxyConfigurationClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Proxy Configuration Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfProxyConfigurationClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Proxy Configuration Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfProxyConfigurationClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Proxy Discovery Cluster -// - -/** @brief Proxy Discovery Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfProxyDiscoveryClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Proxy Discovery Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfProxyDiscoveryClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Proxy Discovery Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterProxyDiscoveryClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Proxy Discovery Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfProxyDiscoveryClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Proxy Discovery Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfProxyDiscoveryClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Proxy Discovery Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterProxyDiscoveryClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Proxy Discovery Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status -MatterProxyDiscoveryClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Proxy Discovery Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfProxyDiscoveryClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Proxy Discovery Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfProxyDiscoveryClusterClientTickCallback(chip::EndpointId endpoint); - -// -// Proxy Valid Cluster -// - -/** @brief Proxy Valid Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfProxyValidClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Proxy Valid Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfProxyValidClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Proxy Valid Cluster Server Attribute Changed - * - * Server Attribute Changed + * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterProxyValidClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterScenesClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Proxy Valid Cluster Server Message Sent +/** @brief Scenes Cluster Server Message Sent * * Server Message Sent * @@ -5324,10 +837,10 @@ void MatterProxyValidClusterServerAttributeChangedCallback(const chip::app::Conc * @param message The message that was sent * @param status The status of the sent message */ -void emberAfProxyValidClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfScenesClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Proxy Valid Cluster Client Message Sent +/** @brief Scenes Cluster Client Message Sent * * Client Message Sent * @@ -5337,10 +850,10 @@ void emberAfProxyValidClusterServerMessageSentCallback(const chip::MessageSendDe * @param message The message that was sent * @param status The status of the sent message */ -void emberAfProxyValidClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfScenesClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Proxy Valid Cluster Server Pre Attribute Changed +/** @brief Scenes Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -5350,10 +863,10 @@ void emberAfProxyValidClusterClientMessageSentCallback(const chip::MessageSendDe * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterProxyValidClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterScenesClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Proxy Valid Cluster Client Pre Attribute Changed +/** @brief Scenes Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -5363,54 +876,54 @@ MatterProxyValidClusterServerPreAttributeChangedCallback(const chip::app::Concre * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterProxyValidClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterScenesClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Proxy Valid Cluster Server Tick +/** @brief Scenes Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfProxyValidClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfScenesClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Proxy Valid Cluster Client Tick +/** @brief Scenes Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfProxyValidClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfScenesClusterClientTickCallback(chip::EndpointId endpoint); // -// Boolean State Cluster +// On/Off Cluster // -/** @brief Boolean State Cluster Server Init +/** @brief On/Off Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfBooleanStateClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfOnOffClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Boolean State Cluster Client Init +/** @brief On/Off Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfBooleanStateClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfOnOffClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Boolean State Cluster Server Attribute Changed +/** @brief On/Off Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterBooleanStateClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterOnOffClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Boolean State Cluster Server Message Sent +/** @brief On/Off Cluster Server Message Sent * * Server Message Sent * @@ -5420,10 +933,10 @@ void MatterBooleanStateClusterServerAttributeChangedCallback(const chip::app::Co * @param message The message that was sent * @param status The status of the sent message */ -void emberAfBooleanStateClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfOnOffClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Boolean State Cluster Client Message Sent +/** @brief On/Off Cluster Client Message Sent * * Client Message Sent * @@ -5433,10 +946,10 @@ void emberAfBooleanStateClusterServerMessageSentCallback(const chip::MessageSend * @param message The message that was sent * @param status The status of the sent message */ -void emberAfBooleanStateClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfOnOffClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Boolean State Cluster Server Pre Attribute Changed +/** @brief On/Off Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -5446,10 +959,10 @@ void emberAfBooleanStateClusterClientMessageSentCallback(const chip::MessageSend * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterBooleanStateClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterOnOffClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Boolean State Cluster Client Pre Attribute Changed +/** @brief On/Off Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -5459,54 +972,54 @@ MatterBooleanStateClusterServerPreAttributeChangedCallback(const chip::app::Conc * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterBooleanStateClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterOnOffClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Boolean State Cluster Server Tick +/** @brief On/Off Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfBooleanStateClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfOnOffClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Boolean State Cluster Client Tick +/** @brief On/Off Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfBooleanStateClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfOnOffClusterClientTickCallback(chip::EndpointId endpoint); // -// Mode Select Cluster +// On/off Switch Configuration Cluster // -/** @brief Mode Select Cluster Server Init +/** @brief On/off Switch Configuration Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfModeSelectClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfOnOffSwitchConfigurationClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Mode Select Cluster Client Init +/** @brief On/off Switch Configuration Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfModeSelectClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfOnOffSwitchConfigurationClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Mode Select Cluster Server Attribute Changed +/** @brief On/off Switch Configuration Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterModeSelectClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterOnOffSwitchConfigurationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Mode Select Cluster Server Message Sent +/** @brief On/off Switch Configuration Cluster Server Message Sent * * Server Message Sent * @@ -5516,10 +1029,11 @@ void MatterModeSelectClusterServerAttributeChangedCallback(const chip::app::Conc * @param message The message that was sent * @param status The status of the sent message */ -void emberAfModeSelectClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfOnOffSwitchConfigurationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Mode Select Cluster Client Message Sent +/** @brief On/off Switch Configuration Cluster Client Message Sent * * Client Message Sent * @@ -5529,10 +1043,11 @@ void emberAfModeSelectClusterServerMessageSentCallback(const chip::MessageSendDe * @param message The message that was sent * @param status The status of the sent message */ -void emberAfModeSelectClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfOnOffSwitchConfigurationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Mode Select Cluster Server Pre Attribute Changed +/** @brief On/off Switch Configuration Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -5541,11 +1056,10 @@ void emberAfModeSelectClusterClientMessageSentCallback(const chip::MessageSendDe * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status -MatterModeSelectClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status MatterOnOffSwitchConfigurationClusterServerPreAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Mode Select Cluster Client Pre Attribute Changed +/** @brief On/off Switch Configuration Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -5554,55 +1068,54 @@ MatterModeSelectClusterServerPreAttributeChangedCallback(const chip::app::Concre * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status -MatterModeSelectClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status MatterOnOffSwitchConfigurationClusterClientPreAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Mode Select Cluster Server Tick +/** @brief On/off Switch Configuration Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfModeSelectClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfOnOffSwitchConfigurationClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Mode Select Cluster Client Tick +/** @brief On/off Switch Configuration Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfModeSelectClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfOnOffSwitchConfigurationClusterClientTickCallback(chip::EndpointId endpoint); // -// Shade Configuration Cluster +// Level Control Cluster // -/** @brief Shade Configuration Cluster Server Init +/** @brief Level Control Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfShadeConfigurationClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfLevelControlClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Shade Configuration Cluster Client Init +/** @brief Level Control Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfShadeConfigurationClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfLevelControlClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Shade Configuration Cluster Server Attribute Changed +/** @brief Level Control Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterShadeConfigurationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterLevelControlClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Shade Configuration Cluster Server Message Sent +/** @brief Level Control Cluster Server Message Sent * * Server Message Sent * @@ -5612,11 +1125,10 @@ void MatterShadeConfigurationClusterServerAttributeChangedCallback(const chip::a * @param message The message that was sent * @param status The status of the sent message */ -void emberAfShadeConfigurationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfLevelControlClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Shade Configuration Cluster Client Message Sent +/** @brief Level Control Cluster Client Message Sent * * Client Message Sent * @@ -5626,11 +1138,10 @@ void emberAfShadeConfigurationClusterServerMessageSentCallback(const chip::Messa * @param message The message that was sent * @param status The status of the sent message */ -void emberAfShadeConfigurationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfLevelControlClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Shade Configuration Cluster Server Pre Attribute Changed +/** @brief Level Control Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -5639,10 +1150,11 @@ void emberAfShadeConfigurationClusterClientMessageSentCallback(const chip::Messa * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterShadeConfigurationClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterLevelControlClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Shade Configuration Cluster Client Pre Attribute Changed +/** @brief Level Control Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -5651,54 +1163,55 @@ chip::Protocols::InteractionModel::Status MatterShadeConfigurationClusterServerP * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterShadeConfigurationClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterLevelControlClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Shade Configuration Cluster Server Tick +/** @brief Level Control Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfShadeConfigurationClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfLevelControlClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Shade Configuration Cluster Client Tick +/** @brief Level Control Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfShadeConfigurationClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfLevelControlClusterClientTickCallback(chip::EndpointId endpoint); // -// Door Lock Cluster +// Binary Input (Basic) Cluster // -/** @brief Door Lock Cluster Server Init +/** @brief Binary Input (Basic) Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfDoorLockClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfBinaryInputBasicClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Door Lock Cluster Client Init +/** @brief Binary Input (Basic) Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfDoorLockClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfBinaryInputBasicClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Door Lock Cluster Server Attribute Changed +/** @brief Binary Input (Basic) Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterDoorLockClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterBinaryInputBasicClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Door Lock Cluster Server Message Sent +/** @brief Binary Input (Basic) Cluster Server Message Sent * * Server Message Sent * @@ -5708,10 +1221,11 @@ void MatterDoorLockClusterServerAttributeChangedCallback(const chip::app::Concre * @param message The message that was sent * @param status The status of the sent message */ -void emberAfDoorLockClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfBinaryInputBasicClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Door Lock Cluster Client Message Sent +/** @brief Binary Input (Basic) Cluster Client Message Sent * * Client Message Sent * @@ -5721,10 +1235,11 @@ void emberAfDoorLockClusterServerMessageSentCallback(const chip::MessageSendDest * @param message The message that was sent * @param status The status of the sent message */ -void emberAfDoorLockClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfBinaryInputBasicClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Door Lock Cluster Server Pre Attribute Changed +/** @brief Binary Input (Basic) Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -5734,10 +1249,10 @@ void emberAfDoorLockClusterClientMessageSentCallback(const chip::MessageSendDest * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterDoorLockClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterBinaryInputBasicClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Door Lock Cluster Client Pre Attribute Changed +/** @brief Binary Input (Basic) Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -5747,54 +1262,54 @@ MatterDoorLockClusterServerPreAttributeChangedCallback(const chip::app::Concrete * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterDoorLockClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterBinaryInputBasicClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Door Lock Cluster Server Tick +/** @brief Binary Input (Basic) Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfDoorLockClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfBinaryInputBasicClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Door Lock Cluster Client Tick +/** @brief Binary Input (Basic) Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfDoorLockClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfBinaryInputBasicClusterClientTickCallback(chip::EndpointId endpoint); // -// Window Covering Cluster +// Pulse Width Modulation Cluster // -/** @brief Window Covering Cluster Server Init +/** @brief Pulse Width Modulation Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfWindowCoveringClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfPulseWidthModulationClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Window Covering Cluster Client Init +/** @brief Pulse Width Modulation Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfWindowCoveringClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfPulseWidthModulationClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Window Covering Cluster Server Attribute Changed +/** @brief Pulse Width Modulation Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterWindowCoveringClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterPulseWidthModulationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Window Covering Cluster Server Message Sent +/** @brief Pulse Width Modulation Cluster Server Message Sent * * Server Message Sent * @@ -5804,11 +1319,11 @@ void MatterWindowCoveringClusterServerAttributeChangedCallback(const chip::app:: * @param message The message that was sent * @param status The status of the sent message */ -void emberAfWindowCoveringClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfPulseWidthModulationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Window Covering Cluster Client Message Sent +/** @brief Pulse Width Modulation Cluster Client Message Sent * * Client Message Sent * @@ -5818,11 +1333,11 @@ void emberAfWindowCoveringClusterServerMessageSentCallback(const chip::MessageSe * @param message The message that was sent * @param status The status of the sent message */ -void emberAfWindowCoveringClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfPulseWidthModulationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Window Covering Cluster Server Pre Attribute Changed +/** @brief Pulse Width Modulation Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -5831,11 +1346,10 @@ void emberAfWindowCoveringClusterClientMessageSentCallback(const chip::MessageSe * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status -MatterWindowCoveringClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status MatterPulseWidthModulationClusterServerPreAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Window Covering Cluster Client Pre Attribute Changed +/** @brief Pulse Width Modulation Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -5844,55 +1358,54 @@ MatterWindowCoveringClusterServerPreAttributeChangedCallback(const chip::app::Co * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status -MatterWindowCoveringClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status MatterPulseWidthModulationClusterClientPreAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Window Covering Cluster Server Tick +/** @brief Pulse Width Modulation Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfWindowCoveringClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfPulseWidthModulationClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Window Covering Cluster Client Tick +/** @brief Pulse Width Modulation Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfWindowCoveringClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfPulseWidthModulationClusterClientTickCallback(chip::EndpointId endpoint); // -// Barrier Control Cluster +// Descriptor Cluster // -/** @brief Barrier Control Cluster Server Init +/** @brief Descriptor Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfBarrierControlClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfDescriptorClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Barrier Control Cluster Client Init +/** @brief Descriptor Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfBarrierControlClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfDescriptorClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Barrier Control Cluster Server Attribute Changed +/** @brief Descriptor Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterBarrierControlClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterDescriptorClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Barrier Control Cluster Server Message Sent +/** @brief Descriptor Cluster Server Message Sent * * Server Message Sent * @@ -5902,11 +1415,10 @@ void MatterBarrierControlClusterServerAttributeChangedCallback(const chip::app:: * @param message The message that was sent * @param status The status of the sent message */ -void emberAfBarrierControlClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfDescriptorClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Barrier Control Cluster Client Message Sent +/** @brief Descriptor Cluster Client Message Sent * * Client Message Sent * @@ -5916,11 +1428,10 @@ void emberAfBarrierControlClusterServerMessageSentCallback(const chip::MessageSe * @param message The message that was sent * @param status The status of the sent message */ -void emberAfBarrierControlClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfDescriptorClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Barrier Control Cluster Server Pre Attribute Changed +/** @brief Descriptor Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -5930,10 +1441,10 @@ void emberAfBarrierControlClusterClientMessageSentCallback(const chip::MessageSe * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterBarrierControlClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterDescriptorClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Barrier Control Cluster Client Pre Attribute Changed +/** @brief Descriptor Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -5943,54 +1454,54 @@ MatterBarrierControlClusterServerPreAttributeChangedCallback(const chip::app::Co * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterBarrierControlClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterDescriptorClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Barrier Control Cluster Server Tick +/** @brief Descriptor Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfBarrierControlClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfDescriptorClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Barrier Control Cluster Client Tick +/** @brief Descriptor Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfBarrierControlClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfDescriptorClusterClientTickCallback(chip::EndpointId endpoint); // -// Pump Configuration and Control Cluster +// Binding Cluster // -/** @brief Pump Configuration and Control Cluster Server Init +/** @brief Binding Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfPumpConfigurationAndControlClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfBindingClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Pump Configuration and Control Cluster Client Init +/** @brief Binding Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfPumpConfigurationAndControlClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfBindingClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Pump Configuration and Control Cluster Server Attribute Changed +/** @brief Binding Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterPumpConfigurationAndControlClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterBindingClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Pump Configuration and Control Cluster Server Message Sent +/** @brief Binding Cluster Server Message Sent * * Server Message Sent * @@ -6000,11 +1511,10 @@ void MatterPumpConfigurationAndControlClusterServerAttributeChangedCallback(cons * @param message The message that was sent * @param status The status of the sent message */ -void emberAfPumpConfigurationAndControlClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfBindingClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Pump Configuration and Control Cluster Client Message Sent +/** @brief Binding Cluster Client Message Sent * * Client Message Sent * @@ -6014,11 +1524,10 @@ void emberAfPumpConfigurationAndControlClusterServerMessageSentCallback(const ch * @param message The message that was sent * @param status The status of the sent message */ -void emberAfPumpConfigurationAndControlClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfBindingClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Pump Configuration and Control Cluster Server Pre Attribute Changed +/** @brief Binding Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -6027,10 +1536,11 @@ void emberAfPumpConfigurationAndControlClusterClientMessageSentCallback(const ch * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterPumpConfigurationAndControlClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterBindingClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Pump Configuration and Control Cluster Client Pre Attribute Changed +/** @brief Binding Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -6039,54 +1549,55 @@ chip::Protocols::InteractionModel::Status MatterPumpConfigurationAndControlClust * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterPumpConfigurationAndControlClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterBindingClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Pump Configuration and Control Cluster Server Tick +/** @brief Binding Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfPumpConfigurationAndControlClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfBindingClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Pump Configuration and Control Cluster Client Tick +/** @brief Binding Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfPumpConfigurationAndControlClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfBindingClusterClientTickCallback(chip::EndpointId endpoint); // -// Thermostat Cluster +// Access Control Cluster // -/** @brief Thermostat Cluster Server Init +/** @brief Access Control Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfThermostatClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfAccessControlClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Thermostat Cluster Client Init +/** @brief Access Control Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfThermostatClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfAccessControlClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Thermostat Cluster Server Attribute Changed +/** @brief Access Control Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterThermostatClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterAccessControlClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Thermostat Cluster Server Message Sent +/** @brief Access Control Cluster Server Message Sent * * Server Message Sent * @@ -6096,10 +1607,11 @@ void MatterThermostatClusterServerAttributeChangedCallback(const chip::app::Conc * @param message The message that was sent * @param status The status of the sent message */ -void emberAfThermostatClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfAccessControlClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Thermostat Cluster Client Message Sent +/** @brief Access Control Cluster Client Message Sent * * Client Message Sent * @@ -6109,10 +1621,11 @@ void emberAfThermostatClusterServerMessageSentCallback(const chip::MessageSendDe * @param message The message that was sent * @param status The status of the sent message */ -void emberAfThermostatClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfAccessControlClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Thermostat Cluster Server Pre Attribute Changed +/** @brief Access Control Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -6122,10 +1635,10 @@ void emberAfThermostatClusterClientMessageSentCallback(const chip::MessageSendDe * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterThermostatClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterAccessControlClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Thermostat Cluster Client Pre Attribute Changed +/** @brief Access Control Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -6135,54 +1648,54 @@ MatterThermostatClusterServerPreAttributeChangedCallback(const chip::app::Concre * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterThermostatClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterAccessControlClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Thermostat Cluster Server Tick +/** @brief Access Control Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfThermostatClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfAccessControlClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Thermostat Cluster Client Tick +/** @brief Access Control Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfThermostatClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfAccessControlClusterClientTickCallback(chip::EndpointId endpoint); // -// Fan Control Cluster +// Bridged Actions Cluster // -/** @brief Fan Control Cluster Server Init +/** @brief Bridged Actions Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfFanControlClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfBridgedActionsClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Fan Control Cluster Client Init +/** @brief Bridged Actions Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfFanControlClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfBridgedActionsClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Fan Control Cluster Server Attribute Changed +/** @brief Bridged Actions Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterFanControlClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterBridgedActionsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Fan Control Cluster Server Message Sent +/** @brief Bridged Actions Cluster Server Message Sent * * Server Message Sent * @@ -6192,10 +1705,11 @@ void MatterFanControlClusterServerAttributeChangedCallback(const chip::app::Conc * @param message The message that was sent * @param status The status of the sent message */ -void emberAfFanControlClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfBridgedActionsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Fan Control Cluster Client Message Sent +/** @brief Bridged Actions Cluster Client Message Sent * * Client Message Sent * @@ -6205,10 +1719,11 @@ void emberAfFanControlClusterServerMessageSentCallback(const chip::MessageSendDe * @param message The message that was sent * @param status The status of the sent message */ -void emberAfFanControlClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfBridgedActionsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Fan Control Cluster Server Pre Attribute Changed +/** @brief Bridged Actions Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -6218,10 +1733,10 @@ void emberAfFanControlClusterClientMessageSentCallback(const chip::MessageSendDe * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterFanControlClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterBridgedActionsClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Fan Control Cluster Client Pre Attribute Changed +/** @brief Bridged Actions Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -6231,54 +1746,54 @@ MatterFanControlClusterServerPreAttributeChangedCallback(const chip::app::Concre * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterFanControlClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterBridgedActionsClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Fan Control Cluster Server Tick +/** @brief Bridged Actions Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfFanControlClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfBridgedActionsClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Fan Control Cluster Client Tick +/** @brief Bridged Actions Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfFanControlClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfBridgedActionsClusterClientTickCallback(chip::EndpointId endpoint); // -// Dehumidification Control Cluster +// Basic Cluster // -/** @brief Dehumidification Control Cluster Server Init +/** @brief Basic Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfDehumidificationControlClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfBasicClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Dehumidification Control Cluster Client Init +/** @brief Basic Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfDehumidificationControlClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfBasicClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Dehumidification Control Cluster Server Attribute Changed +/** @brief Basic Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterDehumidificationControlClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterBasicClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Dehumidification Control Cluster Server Message Sent +/** @brief Basic Cluster Server Message Sent * * Server Message Sent * @@ -6288,11 +1803,10 @@ void MatterDehumidificationControlClusterServerAttributeChangedCallback(const ch * @param message The message that was sent * @param status The status of the sent message */ -void emberAfDehumidificationControlClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfBasicClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Dehumidification Control Cluster Client Message Sent +/** @brief Basic Cluster Client Message Sent * * Client Message Sent * @@ -6302,11 +1816,10 @@ void emberAfDehumidificationControlClusterServerMessageSentCallback(const chip:: * @param message The message that was sent * @param status The status of the sent message */ -void emberAfDehumidificationControlClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfBasicClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Dehumidification Control Cluster Server Pre Attribute Changed +/** @brief Basic Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -6315,10 +1828,11 @@ void emberAfDehumidificationControlClusterClientMessageSentCallback(const chip:: * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterDehumidificationControlClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterBasicClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Dehumidification Control Cluster Client Pre Attribute Changed +/** @brief Basic Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -6327,55 +1841,55 @@ chip::Protocols::InteractionModel::Status MatterDehumidificationControlClusterSe * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterDehumidificationControlClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterBasicClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Dehumidification Control Cluster Server Tick +/** @brief Basic Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfDehumidificationControlClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfBasicClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Dehumidification Control Cluster Client Tick +/** @brief Basic Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfDehumidificationControlClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfBasicClusterClientTickCallback(chip::EndpointId endpoint); // -// Thermostat User Interface Configuration Cluster +// OTA Software Update Provider Cluster // -/** @brief Thermostat User Interface Configuration Cluster Server Init +/** @brief OTA Software Update Provider Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfThermostatUserInterfaceConfigurationClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfOtaSoftwareUpdateProviderClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Thermostat User Interface Configuration Cluster Client Init +/** @brief OTA Software Update Provider Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfThermostatUserInterfaceConfigurationClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfOtaSoftwareUpdateProviderClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Thermostat User Interface Configuration Cluster Server Attribute Changed +/** @brief OTA Software Update Provider Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterThermostatUserInterfaceConfigurationClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterOtaSoftwareUpdateProviderClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Thermostat User Interface Configuration Cluster Server Message Sent +/** @brief OTA Software Update Provider Cluster Server Message Sent * * Server Message Sent * @@ -6385,11 +1899,11 @@ void MatterThermostatUserInterfaceConfigurationClusterServerAttributeChangedCall * @param message The message that was sent * @param status The status of the sent message */ -void emberAfThermostatUserInterfaceConfigurationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfOtaSoftwareUpdateProviderClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Thermostat User Interface Configuration Cluster Client Message Sent +/** @brief OTA Software Update Provider Cluster Client Message Sent * * Client Message Sent * @@ -6399,11 +1913,11 @@ void emberAfThermostatUserInterfaceConfigurationClusterServerMessageSentCallback * @param message The message that was sent * @param status The status of the sent message */ -void emberAfThermostatUserInterfaceConfigurationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfOtaSoftwareUpdateProviderClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Thermostat User Interface Configuration Cluster Server Pre Attribute Changed +/** @brief OTA Software Update Provider Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -6412,10 +1926,10 @@ void emberAfThermostatUserInterfaceConfigurationClusterClientMessageSentCallback * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterThermostatUserInterfaceConfigurationClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterOtaSoftwareUpdateProviderClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Thermostat User Interface Configuration Cluster Client Pre Attribute Changed +/** @brief OTA Software Update Provider Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -6424,54 +1938,54 @@ chip::Protocols::InteractionModel::Status MatterThermostatUserInterfaceConfigura * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterThermostatUserInterfaceConfigurationClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterOtaSoftwareUpdateProviderClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Thermostat User Interface Configuration Cluster Server Tick +/** @brief OTA Software Update Provider Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfThermostatUserInterfaceConfigurationClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfOtaSoftwareUpdateProviderClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Thermostat User Interface Configuration Cluster Client Tick +/** @brief OTA Software Update Provider Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfThermostatUserInterfaceConfigurationClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfOtaSoftwareUpdateProviderClusterClientTickCallback(chip::EndpointId endpoint); // -// Color Control Cluster +// OTA Software Update Requestor Cluster // -/** @brief Color Control Cluster Server Init +/** @brief OTA Software Update Requestor Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfColorControlClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfOtaSoftwareUpdateRequestorClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Color Control Cluster Client Init +/** @brief OTA Software Update Requestor Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfColorControlClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfOtaSoftwareUpdateRequestorClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Color Control Cluster Server Attribute Changed +/** @brief OTA Software Update Requestor Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterColorControlClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterOtaSoftwareUpdateRequestorClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Color Control Cluster Server Message Sent +/** @brief OTA Software Update Requestor Cluster Server Message Sent * * Server Message Sent * @@ -6481,10 +1995,11 @@ void MatterColorControlClusterServerAttributeChangedCallback(const chip::app::Co * @param message The message that was sent * @param status The status of the sent message */ -void emberAfColorControlClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfOtaSoftwareUpdateRequestorClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Color Control Cluster Client Message Sent +/** @brief OTA Software Update Requestor Cluster Client Message Sent * * Client Message Sent * @@ -6494,10 +2009,11 @@ void emberAfColorControlClusterServerMessageSentCallback(const chip::MessageSend * @param message The message that was sent * @param status The status of the sent message */ -void emberAfColorControlClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfOtaSoftwareUpdateRequestorClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Color Control Cluster Server Pre Attribute Changed +/** @brief OTA Software Update Requestor Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -6506,11 +2022,10 @@ void emberAfColorControlClusterClientMessageSentCallback(const chip::MessageSend * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status -MatterColorControlClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status MatterOtaSoftwareUpdateRequestorClusterServerPreAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Color Control Cluster Client Pre Attribute Changed +/** @brief OTA Software Update Requestor Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -6519,55 +2034,54 @@ MatterColorControlClusterServerPreAttributeChangedCallback(const chip::app::Conc * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status -MatterColorControlClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status MatterOtaSoftwareUpdateRequestorClusterClientPreAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Color Control Cluster Server Tick +/** @brief OTA Software Update Requestor Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfColorControlClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfOtaSoftwareUpdateRequestorClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Color Control Cluster Client Tick +/** @brief OTA Software Update Requestor Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfColorControlClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfOtaSoftwareUpdateRequestorClusterClientTickCallback(chip::EndpointId endpoint); // -// Ballast Configuration Cluster +// Localization Configuration Cluster // -/** @brief Ballast Configuration Cluster Server Init +/** @brief Localization Configuration Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfBallastConfigurationClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfLocalizationConfigurationClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Ballast Configuration Cluster Client Init +/** @brief Localization Configuration Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfBallastConfigurationClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfLocalizationConfigurationClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Ballast Configuration Cluster Server Attribute Changed +/** @brief Localization Configuration Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterBallastConfigurationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterLocalizationConfigurationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Ballast Configuration Cluster Server Message Sent +/** @brief Localization Configuration Cluster Server Message Sent * * Server Message Sent * @@ -6577,11 +2091,11 @@ void MatterBallastConfigurationClusterServerAttributeChangedCallback(const chip: * @param message The message that was sent * @param status The status of the sent message */ -void emberAfBallastConfigurationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfLocalizationConfigurationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Ballast Configuration Cluster Client Message Sent +/** @brief Localization Configuration Cluster Client Message Sent * * Client Message Sent * @@ -6591,11 +2105,11 @@ void emberAfBallastConfigurationClusterServerMessageSentCallback(const chip::Mes * @param message The message that was sent * @param status The status of the sent message */ -void emberAfBallastConfigurationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfLocalizationConfigurationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Ballast Configuration Cluster Server Pre Attribute Changed +/** @brief Localization Configuration Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -6604,10 +2118,10 @@ void emberAfBallastConfigurationClusterClientMessageSentCallback(const chip::Mes * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterBallastConfigurationClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterLocalizationConfigurationClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Ballast Configuration Cluster Client Pre Attribute Changed +/** @brief Localization Configuration Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -6616,54 +2130,54 @@ chip::Protocols::InteractionModel::Status MatterBallastConfigurationClusterServe * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterBallastConfigurationClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterLocalizationConfigurationClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Ballast Configuration Cluster Server Tick +/** @brief Localization Configuration Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfBallastConfigurationClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfLocalizationConfigurationClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Ballast Configuration Cluster Client Tick +/** @brief Localization Configuration Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfBallastConfigurationClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfLocalizationConfigurationClusterClientTickCallback(chip::EndpointId endpoint); // -// Illuminance Measurement Cluster +// Time Format Localization Cluster // -/** @brief Illuminance Measurement Cluster Server Init +/** @brief Time Format Localization Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfIlluminanceMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfTimeFormatLocalizationClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Illuminance Measurement Cluster Client Init +/** @brief Time Format Localization Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfIlluminanceMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfTimeFormatLocalizationClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Illuminance Measurement Cluster Server Attribute Changed +/** @brief Time Format Localization Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterIlluminanceMeasurementClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterTimeFormatLocalizationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Illuminance Measurement Cluster Server Message Sent +/** @brief Time Format Localization Cluster Server Message Sent * * Server Message Sent * @@ -6673,11 +2187,11 @@ void MatterIlluminanceMeasurementClusterServerAttributeChangedCallback(const chi * @param message The message that was sent * @param status The status of the sent message */ -void emberAfIlluminanceMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, +void emberAfTimeFormatLocalizationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Illuminance Measurement Cluster Client Message Sent +/** @brief Time Format Localization Cluster Client Message Sent * * Client Message Sent * @@ -6687,11 +2201,11 @@ void emberAfIlluminanceMeasurementClusterServerMessageSentCallback(const chip::M * @param message The message that was sent * @param status The status of the sent message */ -void emberAfIlluminanceMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, +void emberAfTimeFormatLocalizationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Illuminance Measurement Cluster Server Pre Attribute Changed +/** @brief Time Format Localization Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -6700,10 +2214,10 @@ void emberAfIlluminanceMeasurementClusterClientMessageSentCallback(const chip::M * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterIlluminanceMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterTimeFormatLocalizationClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Illuminance Measurement Cluster Client Pre Attribute Changed +/** @brief Time Format Localization Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -6712,54 +2226,54 @@ chip::Protocols::InteractionModel::Status MatterIlluminanceMeasurementClusterSer * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterIlluminanceMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterTimeFormatLocalizationClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Illuminance Measurement Cluster Server Tick +/** @brief Time Format Localization Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfIlluminanceMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfTimeFormatLocalizationClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Illuminance Measurement Cluster Client Tick +/** @brief Time Format Localization Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfIlluminanceMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfTimeFormatLocalizationClusterClientTickCallback(chip::EndpointId endpoint); // -// Temperature Measurement Cluster +// Unit Localization Cluster // -/** @brief Temperature Measurement Cluster Server Init +/** @brief Unit Localization Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfTemperatureMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfUnitLocalizationClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Temperature Measurement Cluster Client Init +/** @brief Unit Localization Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfTemperatureMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfUnitLocalizationClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Temperature Measurement Cluster Server Attribute Changed +/** @brief Unit Localization Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterTemperatureMeasurementClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterUnitLocalizationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Temperature Measurement Cluster Server Message Sent +/** @brief Unit Localization Cluster Server Message Sent * * Server Message Sent * @@ -6769,11 +2283,11 @@ void MatterTemperatureMeasurementClusterServerAttributeChangedCallback(const chi * @param message The message that was sent * @param status The status of the sent message */ -void emberAfTemperatureMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfUnitLocalizationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Temperature Measurement Cluster Client Message Sent +/** @brief Unit Localization Cluster Client Message Sent * * Client Message Sent * @@ -6783,11 +2297,11 @@ void emberAfTemperatureMeasurementClusterServerMessageSentCallback(const chip::M * @param message The message that was sent * @param status The status of the sent message */ -void emberAfTemperatureMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfUnitLocalizationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Temperature Measurement Cluster Server Pre Attribute Changed +/** @brief Unit Localization Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -6796,10 +2310,11 @@ void emberAfTemperatureMeasurementClusterClientMessageSentCallback(const chip::M * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterTemperatureMeasurementClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterUnitLocalizationClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Temperature Measurement Cluster Client Pre Attribute Changed +/** @brief Unit Localization Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -6808,54 +2323,55 @@ chip::Protocols::InteractionModel::Status MatterTemperatureMeasurementClusterSer * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterTemperatureMeasurementClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterUnitLocalizationClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Temperature Measurement Cluster Server Tick +/** @brief Unit Localization Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfTemperatureMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfUnitLocalizationClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Temperature Measurement Cluster Client Tick +/** @brief Unit Localization Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfTemperatureMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfUnitLocalizationClusterClientTickCallback(chip::EndpointId endpoint); // -// Pressure Measurement Cluster +// Power Source Configuration Cluster // -/** @brief Pressure Measurement Cluster Server Init +/** @brief Power Source Configuration Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfPressureMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfPowerSourceConfigurationClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Pressure Measurement Cluster Client Init +/** @brief Power Source Configuration Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfPressureMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfPowerSourceConfigurationClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Pressure Measurement Cluster Server Attribute Changed +/** @brief Power Source Configuration Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterPressureMeasurementClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterPowerSourceConfigurationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Pressure Measurement Cluster Server Message Sent +/** @brief Power Source Configuration Cluster Server Message Sent * * Server Message Sent * @@ -6865,11 +2381,11 @@ void MatterPressureMeasurementClusterServerAttributeChangedCallback(const chip:: * @param message The message that was sent * @param status The status of the sent message */ -void emberAfPressureMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfPowerSourceConfigurationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Pressure Measurement Cluster Client Message Sent +/** @brief Power Source Configuration Cluster Client Message Sent * * Client Message Sent * @@ -6879,11 +2395,11 @@ void emberAfPressureMeasurementClusterServerMessageSentCallback(const chip::Mess * @param message The message that was sent * @param status The status of the sent message */ -void emberAfPressureMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfPowerSourceConfigurationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Pressure Measurement Cluster Server Pre Attribute Changed +/** @brief Power Source Configuration Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -6892,10 +2408,10 @@ void emberAfPressureMeasurementClusterClientMessageSentCallback(const chip::Mess * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterPressureMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterPowerSourceConfigurationClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Pressure Measurement Cluster Client Pre Attribute Changed +/** @brief Power Source Configuration Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -6904,54 +2420,54 @@ chip::Protocols::InteractionModel::Status MatterPressureMeasurementClusterServer * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterPressureMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterPowerSourceConfigurationClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Pressure Measurement Cluster Server Tick +/** @brief Power Source Configuration Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfPressureMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfPowerSourceConfigurationClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Pressure Measurement Cluster Client Tick +/** @brief Power Source Configuration Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfPressureMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfPowerSourceConfigurationClusterClientTickCallback(chip::EndpointId endpoint); // -// Flow Measurement Cluster +// Power Source Cluster // -/** @brief Flow Measurement Cluster Server Init +/** @brief Power Source Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfFlowMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfPowerSourceClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Flow Measurement Cluster Client Init +/** @brief Power Source Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfFlowMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfPowerSourceClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Flow Measurement Cluster Server Attribute Changed +/** @brief Power Source Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterFlowMeasurementClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterPowerSourceClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Flow Measurement Cluster Server Message Sent +/** @brief Power Source Cluster Server Message Sent * * Server Message Sent * @@ -6961,11 +2477,10 @@ void MatterFlowMeasurementClusterServerAttributeChangedCallback(const chip::app: * @param message The message that was sent * @param status The status of the sent message */ -void emberAfFlowMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfPowerSourceClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Flow Measurement Cluster Client Message Sent +/** @brief Power Source Cluster Client Message Sent * * Client Message Sent * @@ -6975,11 +2490,10 @@ void emberAfFlowMeasurementClusterServerMessageSentCallback(const chip::MessageS * @param message The message that was sent * @param status The status of the sent message */ -void emberAfFlowMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfPowerSourceClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Flow Measurement Cluster Server Pre Attribute Changed +/** @brief Power Source Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -6989,10 +2503,10 @@ void emberAfFlowMeasurementClusterClientMessageSentCallback(const chip::MessageS * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterFlowMeasurementClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterPowerSourceClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Flow Measurement Cluster Client Pre Attribute Changed +/** @brief Power Source Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -7002,54 +2516,54 @@ MatterFlowMeasurementClusterServerPreAttributeChangedCallback(const chip::app::C * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterFlowMeasurementClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterPowerSourceClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Flow Measurement Cluster Server Tick +/** @brief Power Source Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfFlowMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfPowerSourceClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Flow Measurement Cluster Client Tick +/** @brief Power Source Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfFlowMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfPowerSourceClusterClientTickCallback(chip::EndpointId endpoint); // -// Relative Humidity Measurement Cluster +// General Commissioning Cluster // -/** @brief Relative Humidity Measurement Cluster Server Init +/** @brief General Commissioning Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfRelativeHumidityMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfGeneralCommissioningClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Relative Humidity Measurement Cluster Client Init +/** @brief General Commissioning Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfRelativeHumidityMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfGeneralCommissioningClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Relative Humidity Measurement Cluster Server Attribute Changed +/** @brief General Commissioning Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterRelativeHumidityMeasurementClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterGeneralCommissioningClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Relative Humidity Measurement Cluster Server Message Sent +/** @brief General Commissioning Cluster Server Message Sent * * Server Message Sent * @@ -7059,11 +2573,11 @@ void MatterRelativeHumidityMeasurementClusterServerAttributeChangedCallback(cons * @param message The message that was sent * @param status The status of the sent message */ -void emberAfRelativeHumidityMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfGeneralCommissioningClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Relative Humidity Measurement Cluster Client Message Sent +/** @brief General Commissioning Cluster Client Message Sent * * Client Message Sent * @@ -7073,11 +2587,11 @@ void emberAfRelativeHumidityMeasurementClusterServerMessageSentCallback(const ch * @param message The message that was sent * @param status The status of the sent message */ -void emberAfRelativeHumidityMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfGeneralCommissioningClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Relative Humidity Measurement Cluster Server Pre Attribute Changed +/** @brief General Commissioning Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -7086,10 +2600,10 @@ void emberAfRelativeHumidityMeasurementClusterClientMessageSentCallback(const ch * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterRelativeHumidityMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterGeneralCommissioningClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Relative Humidity Measurement Cluster Client Pre Attribute Changed +/** @brief General Commissioning Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -7098,54 +2612,54 @@ chip::Protocols::InteractionModel::Status MatterRelativeHumidityMeasurementClust * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterRelativeHumidityMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterGeneralCommissioningClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Relative Humidity Measurement Cluster Server Tick +/** @brief General Commissioning Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfRelativeHumidityMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfGeneralCommissioningClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Relative Humidity Measurement Cluster Client Tick +/** @brief General Commissioning Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfRelativeHumidityMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfGeneralCommissioningClusterClientTickCallback(chip::EndpointId endpoint); // -// Occupancy Sensing Cluster +// Network Commissioning Cluster // -/** @brief Occupancy Sensing Cluster Server Init +/** @brief Network Commissioning Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfOccupancySensingClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfNetworkCommissioningClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Occupancy Sensing Cluster Client Init +/** @brief Network Commissioning Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfOccupancySensingClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfNetworkCommissioningClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Occupancy Sensing Cluster Server Attribute Changed +/** @brief Network Commissioning Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterOccupancySensingClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterNetworkCommissioningClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Occupancy Sensing Cluster Server Message Sent +/** @brief Network Commissioning Cluster Server Message Sent * * Server Message Sent * @@ -7155,11 +2669,11 @@ void MatterOccupancySensingClusterServerAttributeChangedCallback(const chip::app * @param message The message that was sent * @param status The status of the sent message */ -void emberAfOccupancySensingClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfNetworkCommissioningClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Occupancy Sensing Cluster Client Message Sent +/** @brief Network Commissioning Cluster Client Message Sent * * Client Message Sent * @@ -7169,11 +2683,11 @@ void emberAfOccupancySensingClusterServerMessageSentCallback(const chip::Message * @param message The message that was sent * @param status The status of the sent message */ -void emberAfOccupancySensingClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfNetworkCommissioningClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Occupancy Sensing Cluster Server Pre Attribute Changed +/** @brief Network Commissioning Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -7182,11 +2696,10 @@ void emberAfOccupancySensingClusterClientMessageSentCallback(const chip::Message * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status -MatterOccupancySensingClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status MatterNetworkCommissioningClusterServerPreAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Occupancy Sensing Cluster Client Pre Attribute Changed +/** @brief Network Commissioning Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -7195,56 +2708,54 @@ MatterOccupancySensingClusterServerPreAttributeChangedCallback(const chip::app:: * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status -MatterOccupancySensingClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status MatterNetworkCommissioningClusterClientPreAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Occupancy Sensing Cluster Server Tick +/** @brief Network Commissioning Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfOccupancySensingClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfNetworkCommissioningClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Occupancy Sensing Cluster Client Tick +/** @brief Network Commissioning Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfOccupancySensingClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfNetworkCommissioningClusterClientTickCallback(chip::EndpointId endpoint); // -// Carbon Monoxide Concentration Measurement Cluster +// Diagnostic Logs Cluster // -/** @brief Carbon Monoxide Concentration Measurement Cluster Server Init +/** @brief Diagnostic Logs Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfCarbonMonoxideConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfDiagnosticLogsClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Carbon Monoxide Concentration Measurement Cluster Client Init +/** @brief Diagnostic Logs Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfCarbonMonoxideConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfDiagnosticLogsClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Carbon Monoxide Concentration Measurement Cluster Server Attribute Changed +/** @brief Diagnostic Logs Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterCarbonMonoxideConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterDiagnosticLogsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Carbon Monoxide Concentration Measurement Cluster Server Message Sent +/** @brief Diagnostic Logs Cluster Server Message Sent * * Server Message Sent * @@ -7254,11 +2765,11 @@ void MatterCarbonMonoxideConcentrationMeasurementClusterServerAttributeChangedCa * @param message The message that was sent * @param status The status of the sent message */ -void emberAfCarbonMonoxideConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfDiagnosticLogsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Carbon Monoxide Concentration Measurement Cluster Client Message Sent +/** @brief Diagnostic Logs Cluster Client Message Sent * * Client Message Sent * @@ -7268,11 +2779,11 @@ void emberAfCarbonMonoxideConcentrationMeasurementClusterServerMessageSentCallba * @param message The message that was sent * @param status The status of the sent message */ -void emberAfCarbonMonoxideConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfDiagnosticLogsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Carbon Monoxide Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Diagnostic Logs Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -7281,10 +2792,11 @@ void emberAfCarbonMonoxideConcentrationMeasurementClusterClientMessageSentCallba * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterCarbonMonoxideConcentrationMeasurementClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterDiagnosticLogsClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Carbon Monoxide Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Diagnostic Logs Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -7293,55 +2805,55 @@ chip::Protocols::InteractionModel::Status MatterCarbonMonoxideConcentrationMeasu * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterCarbonMonoxideConcentrationMeasurementClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterDiagnosticLogsClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Carbon Monoxide Concentration Measurement Cluster Server Tick +/** @brief Diagnostic Logs Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfCarbonMonoxideConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfDiagnosticLogsClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Carbon Monoxide Concentration Measurement Cluster Client Tick +/** @brief Diagnostic Logs Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfCarbonMonoxideConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfDiagnosticLogsClusterClientTickCallback(chip::EndpointId endpoint); // -// Carbon Dioxide Concentration Measurement Cluster +// General Diagnostics Cluster // -/** @brief Carbon Dioxide Concentration Measurement Cluster Server Init +/** @brief General Diagnostics Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfCarbonDioxideConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfGeneralDiagnosticsClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Carbon Dioxide Concentration Measurement Cluster Client Init +/** @brief General Diagnostics Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfCarbonDioxideConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfGeneralDiagnosticsClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Carbon Dioxide Concentration Measurement Cluster Server Attribute Changed +/** @brief General Diagnostics Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterCarbonDioxideConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterGeneralDiagnosticsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Carbon Dioxide Concentration Measurement Cluster Server Message Sent +/** @brief General Diagnostics Cluster Server Message Sent * * Server Message Sent * @@ -7351,11 +2863,11 @@ void MatterCarbonDioxideConcentrationMeasurementClusterServerAttributeChangedCal * @param message The message that was sent * @param status The status of the sent message */ -void emberAfCarbonDioxideConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfGeneralDiagnosticsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Carbon Dioxide Concentration Measurement Cluster Client Message Sent +/** @brief General Diagnostics Cluster Client Message Sent * * Client Message Sent * @@ -7365,11 +2877,11 @@ void emberAfCarbonDioxideConcentrationMeasurementClusterServerMessageSentCallbac * @param message The message that was sent * @param status The status of the sent message */ -void emberAfCarbonDioxideConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfGeneralDiagnosticsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Carbon Dioxide Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief General Diagnostics Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -7378,10 +2890,10 @@ void emberAfCarbonDioxideConcentrationMeasurementClusterClientMessageSentCallbac * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterCarbonDioxideConcentrationMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterGeneralDiagnosticsClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Carbon Dioxide Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief General Diagnostics Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -7390,55 +2902,54 @@ chip::Protocols::InteractionModel::Status MatterCarbonDioxideConcentrationMeasur * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterCarbonDioxideConcentrationMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterGeneralDiagnosticsClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Carbon Dioxide Concentration Measurement Cluster Server Tick +/** @brief General Diagnostics Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfCarbonDioxideConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfGeneralDiagnosticsClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Carbon Dioxide Concentration Measurement Cluster Client Tick +/** @brief General Diagnostics Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfCarbonDioxideConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfGeneralDiagnosticsClusterClientTickCallback(chip::EndpointId endpoint); // -// Ethylene Concentration Measurement Cluster +// Software Diagnostics Cluster // -/** @brief Ethylene Concentration Measurement Cluster Server Init +/** @brief Software Diagnostics Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfEthyleneConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfSoftwareDiagnosticsClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Ethylene Concentration Measurement Cluster Client Init +/** @brief Software Diagnostics Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfEthyleneConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfSoftwareDiagnosticsClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Ethylene Concentration Measurement Cluster Server Attribute Changed +/** @brief Software Diagnostics Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterEthyleneConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterSoftwareDiagnosticsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Ethylene Concentration Measurement Cluster Server Message Sent +/** @brief Software Diagnostics Cluster Server Message Sent * * Server Message Sent * @@ -7448,11 +2959,11 @@ void MatterEthyleneConcentrationMeasurementClusterServerAttributeChangedCallback * @param message The message that was sent * @param status The status of the sent message */ -void emberAfEthyleneConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfSoftwareDiagnosticsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Ethylene Concentration Measurement Cluster Client Message Sent +/** @brief Software Diagnostics Cluster Client Message Sent * * Client Message Sent * @@ -7462,11 +2973,11 @@ void emberAfEthyleneConcentrationMeasurementClusterServerMessageSentCallback(con * @param message The message that was sent * @param status The status of the sent message */ -void emberAfEthyleneConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfSoftwareDiagnosticsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Ethylene Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Software Diagnostics Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -7475,10 +2986,10 @@ void emberAfEthyleneConcentrationMeasurementClusterClientMessageSentCallback(con * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterEthyleneConcentrationMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterSoftwareDiagnosticsClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Ethylene Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Software Diagnostics Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -7487,55 +2998,54 @@ chip::Protocols::InteractionModel::Status MatterEthyleneConcentrationMeasurement * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterEthyleneConcentrationMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterSoftwareDiagnosticsClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Ethylene Concentration Measurement Cluster Server Tick +/** @brief Software Diagnostics Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfEthyleneConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfSoftwareDiagnosticsClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Ethylene Concentration Measurement Cluster Client Tick +/** @brief Software Diagnostics Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfEthyleneConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfSoftwareDiagnosticsClusterClientTickCallback(chip::EndpointId endpoint); // -// Ethylene Oxide Concentration Measurement Cluster +// Thread Network Diagnostics Cluster // -/** @brief Ethylene Oxide Concentration Measurement Cluster Server Init +/** @brief Thread Network Diagnostics Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfEthyleneOxideConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfThreadNetworkDiagnosticsClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Ethylene Oxide Concentration Measurement Cluster Client Init +/** @brief Thread Network Diagnostics Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfEthyleneOxideConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfThreadNetworkDiagnosticsClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Ethylene Oxide Concentration Measurement Cluster Server Attribute Changed +/** @brief Thread Network Diagnostics Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterEthyleneOxideConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterThreadNetworkDiagnosticsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Ethylene Oxide Concentration Measurement Cluster Server Message Sent +/** @brief Thread Network Diagnostics Cluster Server Message Sent * * Server Message Sent * @@ -7545,11 +3055,11 @@ void MatterEthyleneOxideConcentrationMeasurementClusterServerAttributeChangedCal * @param message The message that was sent * @param status The status of the sent message */ -void emberAfEthyleneOxideConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfThreadNetworkDiagnosticsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Ethylene Oxide Concentration Measurement Cluster Client Message Sent +/** @brief Thread Network Diagnostics Cluster Client Message Sent * * Client Message Sent * @@ -7559,11 +3069,11 @@ void emberAfEthyleneOxideConcentrationMeasurementClusterServerMessageSentCallbac * @param message The message that was sent * @param status The status of the sent message */ -void emberAfEthyleneOxideConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfThreadNetworkDiagnosticsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Ethylene Oxide Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Thread Network Diagnostics Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -7572,10 +3082,10 @@ void emberAfEthyleneOxideConcentrationMeasurementClusterClientMessageSentCallbac * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterEthyleneOxideConcentrationMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterThreadNetworkDiagnosticsClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Ethylene Oxide Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Thread Network Diagnostics Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -7584,55 +3094,54 @@ chip::Protocols::InteractionModel::Status MatterEthyleneOxideConcentrationMeasur * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterEthyleneOxideConcentrationMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterThreadNetworkDiagnosticsClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Ethylene Oxide Concentration Measurement Cluster Server Tick +/** @brief Thread Network Diagnostics Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfEthyleneOxideConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfThreadNetworkDiagnosticsClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Ethylene Oxide Concentration Measurement Cluster Client Tick +/** @brief Thread Network Diagnostics Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfEthyleneOxideConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfThreadNetworkDiagnosticsClusterClientTickCallback(chip::EndpointId endpoint); // -// Hydrogen Concentration Measurement Cluster +// WiFi Network Diagnostics Cluster // -/** @brief Hydrogen Concentration Measurement Cluster Server Init +/** @brief WiFi Network Diagnostics Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfHydrogenConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfWiFiNetworkDiagnosticsClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Hydrogen Concentration Measurement Cluster Client Init +/** @brief WiFi Network Diagnostics Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfHydrogenConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfWiFiNetworkDiagnosticsClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Hydrogen Concentration Measurement Cluster Server Attribute Changed +/** @brief WiFi Network Diagnostics Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterHydrogenConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterWiFiNetworkDiagnosticsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Hydrogen Concentration Measurement Cluster Server Message Sent +/** @brief WiFi Network Diagnostics Cluster Server Message Sent * * Server Message Sent * @@ -7642,11 +3151,11 @@ void MatterHydrogenConcentrationMeasurementClusterServerAttributeChangedCallback * @param message The message that was sent * @param status The status of the sent message */ -void emberAfHydrogenConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfWiFiNetworkDiagnosticsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Hydrogen Concentration Measurement Cluster Client Message Sent +/** @brief WiFi Network Diagnostics Cluster Client Message Sent * * Client Message Sent * @@ -7656,11 +3165,11 @@ void emberAfHydrogenConcentrationMeasurementClusterServerMessageSentCallback(con * @param message The message that was sent * @param status The status of the sent message */ -void emberAfHydrogenConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfWiFiNetworkDiagnosticsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Hydrogen Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief WiFi Network Diagnostics Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -7669,10 +3178,10 @@ void emberAfHydrogenConcentrationMeasurementClusterClientMessageSentCallback(con * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterHydrogenConcentrationMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterWiFiNetworkDiagnosticsClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Hydrogen Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief WiFi Network Diagnostics Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -7681,55 +3190,54 @@ chip::Protocols::InteractionModel::Status MatterHydrogenConcentrationMeasurement * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterHydrogenConcentrationMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterWiFiNetworkDiagnosticsClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Hydrogen Concentration Measurement Cluster Server Tick +/** @brief WiFi Network Diagnostics Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfHydrogenConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfWiFiNetworkDiagnosticsClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Hydrogen Concentration Measurement Cluster Client Tick +/** @brief WiFi Network Diagnostics Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfHydrogenConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfWiFiNetworkDiagnosticsClusterClientTickCallback(chip::EndpointId endpoint); // -// Hydrogen Sulphide Concentration Measurement Cluster +// Ethernet Network Diagnostics Cluster // -/** @brief Hydrogen Sulphide Concentration Measurement Cluster Server Init +/** @brief Ethernet Network Diagnostics Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfHydrogenSulphideConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfEthernetNetworkDiagnosticsClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Hydrogen Sulphide Concentration Measurement Cluster Client Init +/** @brief Ethernet Network Diagnostics Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfHydrogenSulphideConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfEthernetNetworkDiagnosticsClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Hydrogen Sulphide Concentration Measurement Cluster Server Attribute Changed +/** @brief Ethernet Network Diagnostics Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterHydrogenSulphideConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterEthernetNetworkDiagnosticsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Hydrogen Sulphide Concentration Measurement Cluster Server Message Sent +/** @brief Ethernet Network Diagnostics Cluster Server Message Sent * * Server Message Sent * @@ -7739,11 +3247,11 @@ void MatterHydrogenSulphideConcentrationMeasurementClusterServerAttributeChanged * @param message The message that was sent * @param status The status of the sent message */ -void emberAfHydrogenSulphideConcentrationMeasurementClusterServerMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfEthernetNetworkDiagnosticsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Hydrogen Sulphide Concentration Measurement Cluster Client Message Sent +/** @brief Ethernet Network Diagnostics Cluster Client Message Sent * * Client Message Sent * @@ -7753,11 +3261,11 @@ void emberAfHydrogenSulphideConcentrationMeasurementClusterServerMessageSentCall * @param message The message that was sent * @param status The status of the sent message */ -void emberAfHydrogenSulphideConcentrationMeasurementClusterClientMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfEthernetNetworkDiagnosticsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Hydrogen Sulphide Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Ethernet Network Diagnostics Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -7766,10 +3274,10 @@ void emberAfHydrogenSulphideConcentrationMeasurementClusterClientMessageSentCall * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterHydrogenSulphideConcentrationMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterEthernetNetworkDiagnosticsClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Hydrogen Sulphide Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Ethernet Network Diagnostics Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -7778,55 +3286,54 @@ chip::Protocols::InteractionModel::Status MatterHydrogenSulphideConcentrationMea * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterHydrogenSulphideConcentrationMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterEthernetNetworkDiagnosticsClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Hydrogen Sulphide Concentration Measurement Cluster Server Tick +/** @brief Ethernet Network Diagnostics Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfHydrogenSulphideConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfEthernetNetworkDiagnosticsClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Hydrogen Sulphide Concentration Measurement Cluster Client Tick +/** @brief Ethernet Network Diagnostics Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfHydrogenSulphideConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfEthernetNetworkDiagnosticsClusterClientTickCallback(chip::EndpointId endpoint); // -// Nitric Oxide Concentration Measurement Cluster +// Time Synchronization Cluster // -/** @brief Nitric Oxide Concentration Measurement Cluster Server Init +/** @brief Time Synchronization Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfNitricOxideConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfTimeSynchronizationClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Nitric Oxide Concentration Measurement Cluster Client Init +/** @brief Time Synchronization Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfNitricOxideConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfTimeSynchronizationClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Nitric Oxide Concentration Measurement Cluster Server Attribute Changed +/** @brief Time Synchronization Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterNitricOxideConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterTimeSynchronizationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Nitric Oxide Concentration Measurement Cluster Server Message Sent +/** @brief Time Synchronization Cluster Server Message Sent * * Server Message Sent * @@ -7836,11 +3343,11 @@ void MatterNitricOxideConcentrationMeasurementClusterServerAttributeChangedCallb * @param message The message that was sent * @param status The status of the sent message */ -void emberAfNitricOxideConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfTimeSynchronizationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Nitric Oxide Concentration Measurement Cluster Client Message Sent +/** @brief Time Synchronization Cluster Client Message Sent * * Client Message Sent * @@ -7850,11 +3357,11 @@ void emberAfNitricOxideConcentrationMeasurementClusterServerMessageSentCallback( * @param message The message that was sent * @param status The status of the sent message */ -void emberAfNitricOxideConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfTimeSynchronizationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Nitric Oxide Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Time Synchronization Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -7863,10 +3370,10 @@ void emberAfNitricOxideConcentrationMeasurementClusterClientMessageSentCallback( * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterNitricOxideConcentrationMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterTimeSynchronizationClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Nitric Oxide Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Time Synchronization Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -7875,55 +3382,54 @@ chip::Protocols::InteractionModel::Status MatterNitricOxideConcentrationMeasurem * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterNitricOxideConcentrationMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterTimeSynchronizationClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Nitric Oxide Concentration Measurement Cluster Server Tick +/** @brief Time Synchronization Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfNitricOxideConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfTimeSynchronizationClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Nitric Oxide Concentration Measurement Cluster Client Tick +/** @brief Time Synchronization Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfNitricOxideConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfTimeSynchronizationClusterClientTickCallback(chip::EndpointId endpoint); // -// Nitrogen Dioxide Concentration Measurement Cluster +// Bridged Device Basic Cluster // -/** @brief Nitrogen Dioxide Concentration Measurement Cluster Server Init +/** @brief Bridged Device Basic Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfNitrogenDioxideConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfBridgedDeviceBasicClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Nitrogen Dioxide Concentration Measurement Cluster Client Init +/** @brief Bridged Device Basic Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfNitrogenDioxideConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfBridgedDeviceBasicClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Nitrogen Dioxide Concentration Measurement Cluster Server Attribute Changed +/** @brief Bridged Device Basic Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterNitrogenDioxideConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterBridgedDeviceBasicClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Nitrogen Dioxide Concentration Measurement Cluster Server Message Sent +/** @brief Bridged Device Basic Cluster Server Message Sent * * Server Message Sent * @@ -7933,11 +3439,11 @@ void MatterNitrogenDioxideConcentrationMeasurementClusterServerAttributeChangedC * @param message The message that was sent * @param status The status of the sent message */ -void emberAfNitrogenDioxideConcentrationMeasurementClusterServerMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfBridgedDeviceBasicClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Nitrogen Dioxide Concentration Measurement Cluster Client Message Sent +/** @brief Bridged Device Basic Cluster Client Message Sent * * Client Message Sent * @@ -7947,11 +3453,11 @@ void emberAfNitrogenDioxideConcentrationMeasurementClusterServerMessageSentCallb * @param message The message that was sent * @param status The status of the sent message */ -void emberAfNitrogenDioxideConcentrationMeasurementClusterClientMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfBridgedDeviceBasicClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Nitrogen Dioxide Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Bridged Device Basic Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -7960,10 +3466,10 @@ void emberAfNitrogenDioxideConcentrationMeasurementClusterClientMessageSentCallb * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterNitrogenDioxideConcentrationMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterBridgedDeviceBasicClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Nitrogen Dioxide Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Bridged Device Basic Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -7972,55 +3478,54 @@ chip::Protocols::InteractionModel::Status MatterNitrogenDioxideConcentrationMeas * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterNitrogenDioxideConcentrationMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterBridgedDeviceBasicClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Nitrogen Dioxide Concentration Measurement Cluster Server Tick +/** @brief Bridged Device Basic Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfNitrogenDioxideConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfBridgedDeviceBasicClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Nitrogen Dioxide Concentration Measurement Cluster Client Tick +/** @brief Bridged Device Basic Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfNitrogenDioxideConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfBridgedDeviceBasicClusterClientTickCallback(chip::EndpointId endpoint); // -// Oxygen Concentration Measurement Cluster +// Switch Cluster // -/** @brief Oxygen Concentration Measurement Cluster Server Init +/** @brief Switch Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfOxygenConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfSwitchClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Oxygen Concentration Measurement Cluster Client Init +/** @brief Switch Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfOxygenConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfSwitchClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Oxygen Concentration Measurement Cluster Server Attribute Changed +/** @brief Switch Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterOxygenConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterSwitchClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Oxygen Concentration Measurement Cluster Server Message Sent +/** @brief Switch Cluster Server Message Sent * * Server Message Sent * @@ -8030,11 +3535,10 @@ void MatterOxygenConcentrationMeasurementClusterServerAttributeChangedCallback( * @param message The message that was sent * @param status The status of the sent message */ -void emberAfOxygenConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfSwitchClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Oxygen Concentration Measurement Cluster Client Message Sent +/** @brief Switch Cluster Client Message Sent * * Client Message Sent * @@ -8044,11 +3548,10 @@ void emberAfOxygenConcentrationMeasurementClusterServerMessageSentCallback(const * @param message The message that was sent * @param status The status of the sent message */ -void emberAfOxygenConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfSwitchClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Oxygen Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Switch Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -8057,10 +3560,11 @@ void emberAfOxygenConcentrationMeasurementClusterClientMessageSentCallback(const * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterOxygenConcentrationMeasurementClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterSwitchClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Oxygen Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Switch Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -8069,55 +3573,55 @@ chip::Protocols::InteractionModel::Status MatterOxygenConcentrationMeasurementCl * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterOxygenConcentrationMeasurementClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterSwitchClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Oxygen Concentration Measurement Cluster Server Tick +/** @brief Switch Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfOxygenConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfSwitchClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Oxygen Concentration Measurement Cluster Client Tick +/** @brief Switch Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfOxygenConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfSwitchClusterClientTickCallback(chip::EndpointId endpoint); // -// Ozone Concentration Measurement Cluster +// AdministratorCommissioning Cluster // -/** @brief Ozone Concentration Measurement Cluster Server Init +/** @brief AdministratorCommissioning Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfOzoneConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfAdministratorCommissioningClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Ozone Concentration Measurement Cluster Client Init +/** @brief AdministratorCommissioning Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfOzoneConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfAdministratorCommissioningClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Ozone Concentration Measurement Cluster Server Attribute Changed +/** @brief AdministratorCommissioning Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterOzoneConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterAdministratorCommissioningClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Ozone Concentration Measurement Cluster Server Message Sent +/** @brief AdministratorCommissioning Cluster Server Message Sent * * Server Message Sent * @@ -8127,11 +3631,11 @@ void MatterOzoneConcentrationMeasurementClusterServerAttributeChangedCallback( * @param message The message that was sent * @param status The status of the sent message */ -void emberAfOzoneConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfAdministratorCommissioningClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Ozone Concentration Measurement Cluster Client Message Sent +/** @brief AdministratorCommissioning Cluster Client Message Sent * * Client Message Sent * @@ -8141,11 +3645,11 @@ void emberAfOzoneConcentrationMeasurementClusterServerMessageSentCallback(const * @param message The message that was sent * @param status The status of the sent message */ -void emberAfOzoneConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfAdministratorCommissioningClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Ozone Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief AdministratorCommissioning Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -8154,10 +3658,10 @@ void emberAfOzoneConcentrationMeasurementClusterClientMessageSentCallback(const * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterOzoneConcentrationMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterAdministratorCommissioningClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Ozone Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief AdministratorCommissioning Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -8166,55 +3670,54 @@ chip::Protocols::InteractionModel::Status MatterOzoneConcentrationMeasurementClu * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterOzoneConcentrationMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterAdministratorCommissioningClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Ozone Concentration Measurement Cluster Server Tick +/** @brief AdministratorCommissioning Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfOzoneConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfAdministratorCommissioningClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Ozone Concentration Measurement Cluster Client Tick +/** @brief AdministratorCommissioning Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfOzoneConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfAdministratorCommissioningClusterClientTickCallback(chip::EndpointId endpoint); // -// Sulfur Dioxide Concentration Measurement Cluster +// Operational Credentials Cluster // -/** @brief Sulfur Dioxide Concentration Measurement Cluster Server Init +/** @brief Operational Credentials Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfSulfurDioxideConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfOperationalCredentialsClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Sulfur Dioxide Concentration Measurement Cluster Client Init +/** @brief Operational Credentials Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfSulfurDioxideConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfOperationalCredentialsClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Sulfur Dioxide Concentration Measurement Cluster Server Attribute Changed +/** @brief Operational Credentials Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterSulfurDioxideConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterOperationalCredentialsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Sulfur Dioxide Concentration Measurement Cluster Server Message Sent +/** @brief Operational Credentials Cluster Server Message Sent * * Server Message Sent * @@ -8224,11 +3727,11 @@ void MatterSulfurDioxideConcentrationMeasurementClusterServerAttributeChangedCal * @param message The message that was sent * @param status The status of the sent message */ -void emberAfSulfurDioxideConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfOperationalCredentialsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Sulfur Dioxide Concentration Measurement Cluster Client Message Sent +/** @brief Operational Credentials Cluster Client Message Sent * * Client Message Sent * @@ -8238,11 +3741,11 @@ void emberAfSulfurDioxideConcentrationMeasurementClusterServerMessageSentCallbac * @param message The message that was sent * @param status The status of the sent message */ -void emberAfSulfurDioxideConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfOperationalCredentialsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Sulfur Dioxide Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Operational Credentials Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -8251,10 +3754,10 @@ void emberAfSulfurDioxideConcentrationMeasurementClusterClientMessageSentCallbac * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterSulfurDioxideConcentrationMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterOperationalCredentialsClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Sulfur Dioxide Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Operational Credentials Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -8263,55 +3766,54 @@ chip::Protocols::InteractionModel::Status MatterSulfurDioxideConcentrationMeasur * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterSulfurDioxideConcentrationMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterOperationalCredentialsClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Sulfur Dioxide Concentration Measurement Cluster Server Tick +/** @brief Operational Credentials Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfSulfurDioxideConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfOperationalCredentialsClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Sulfur Dioxide Concentration Measurement Cluster Client Tick +/** @brief Operational Credentials Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfSulfurDioxideConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfOperationalCredentialsClusterClientTickCallback(chip::EndpointId endpoint); // -// Dissolved Oxygen Concentration Measurement Cluster +// Group Key Management Cluster // -/** @brief Dissolved Oxygen Concentration Measurement Cluster Server Init +/** @brief Group Key Management Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfDissolvedOxygenConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfGroupKeyManagementClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Dissolved Oxygen Concentration Measurement Cluster Client Init +/** @brief Group Key Management Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfDissolvedOxygenConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfGroupKeyManagementClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Dissolved Oxygen Concentration Measurement Cluster Server Attribute Changed +/** @brief Group Key Management Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterDissolvedOxygenConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterGroupKeyManagementClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Dissolved Oxygen Concentration Measurement Cluster Server Message Sent +/** @brief Group Key Management Cluster Server Message Sent * * Server Message Sent * @@ -8321,11 +3823,11 @@ void MatterDissolvedOxygenConcentrationMeasurementClusterServerAttributeChangedC * @param message The message that was sent * @param status The status of the sent message */ -void emberAfDissolvedOxygenConcentrationMeasurementClusterServerMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfGroupKeyManagementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Dissolved Oxygen Concentration Measurement Cluster Client Message Sent +/** @brief Group Key Management Cluster Client Message Sent * * Client Message Sent * @@ -8335,11 +3837,11 @@ void emberAfDissolvedOxygenConcentrationMeasurementClusterServerMessageSentCallb * @param message The message that was sent * @param status The status of the sent message */ -void emberAfDissolvedOxygenConcentrationMeasurementClusterClientMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfGroupKeyManagementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Dissolved Oxygen Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Group Key Management Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -8348,10 +3850,10 @@ void emberAfDissolvedOxygenConcentrationMeasurementClusterClientMessageSentCallb * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterDissolvedOxygenConcentrationMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterGroupKeyManagementClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Dissolved Oxygen Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Group Key Management Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -8360,55 +3862,54 @@ chip::Protocols::InteractionModel::Status MatterDissolvedOxygenConcentrationMeas * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterDissolvedOxygenConcentrationMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterGroupKeyManagementClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Dissolved Oxygen Concentration Measurement Cluster Server Tick +/** @brief Group Key Management Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfDissolvedOxygenConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfGroupKeyManagementClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Dissolved Oxygen Concentration Measurement Cluster Client Tick +/** @brief Group Key Management Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfDissolvedOxygenConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfGroupKeyManagementClusterClientTickCallback(chip::EndpointId endpoint); // -// Bromate Concentration Measurement Cluster +// Fixed Label Cluster // -/** @brief Bromate Concentration Measurement Cluster Server Init +/** @brief Fixed Label Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfBromateConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfFixedLabelClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Bromate Concentration Measurement Cluster Client Init +/** @brief Fixed Label Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfBromateConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfFixedLabelClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Bromate Concentration Measurement Cluster Server Attribute Changed +/** @brief Fixed Label Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterBromateConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterFixedLabelClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Bromate Concentration Measurement Cluster Server Message Sent +/** @brief Fixed Label Cluster Server Message Sent * * Server Message Sent * @@ -8418,11 +3919,10 @@ void MatterBromateConcentrationMeasurementClusterServerAttributeChangedCallback( * @param message The message that was sent * @param status The status of the sent message */ -void emberAfBromateConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfFixedLabelClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Bromate Concentration Measurement Cluster Client Message Sent +/** @brief Fixed Label Cluster Client Message Sent * * Client Message Sent * @@ -8432,11 +3932,10 @@ void emberAfBromateConcentrationMeasurementClusterServerMessageSentCallback(cons * @param message The message that was sent * @param status The status of the sent message */ -void emberAfBromateConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfFixedLabelClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Bromate Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Fixed Label Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -8445,10 +3944,11 @@ void emberAfBromateConcentrationMeasurementClusterClientMessageSentCallback(cons * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterBromateConcentrationMeasurementClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterFixedLabelClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Bromate Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Fixed Label Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -8457,55 +3957,55 @@ chip::Protocols::InteractionModel::Status MatterBromateConcentrationMeasurementC * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterBromateConcentrationMeasurementClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterFixedLabelClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Bromate Concentration Measurement Cluster Server Tick +/** @brief Fixed Label Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfBromateConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfFixedLabelClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Bromate Concentration Measurement Cluster Client Tick +/** @brief Fixed Label Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfBromateConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfFixedLabelClusterClientTickCallback(chip::EndpointId endpoint); // -// Chloramines Concentration Measurement Cluster +// User Label Cluster // -/** @brief Chloramines Concentration Measurement Cluster Server Init +/** @brief User Label Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfChloraminesConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfUserLabelClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Chloramines Concentration Measurement Cluster Client Init +/** @brief User Label Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfChloraminesConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfUserLabelClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Chloramines Concentration Measurement Cluster Server Attribute Changed +/** @brief User Label Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterChloraminesConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterUserLabelClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Chloramines Concentration Measurement Cluster Server Message Sent +/** @brief User Label Cluster Server Message Sent * * Server Message Sent * @@ -8515,11 +4015,10 @@ void MatterChloraminesConcentrationMeasurementClusterServerAttributeChangedCallb * @param message The message that was sent * @param status The status of the sent message */ -void emberAfChloraminesConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfUserLabelClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Chloramines Concentration Measurement Cluster Client Message Sent +/** @brief User Label Cluster Client Message Sent * * Client Message Sent * @@ -8529,11 +4028,10 @@ void emberAfChloraminesConcentrationMeasurementClusterServerMessageSentCallback( * @param message The message that was sent * @param status The status of the sent message */ -void emberAfChloraminesConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfUserLabelClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Chloramines Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief User Label Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -8542,10 +4040,11 @@ void emberAfChloraminesConcentrationMeasurementClusterClientMessageSentCallback( * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterChloraminesConcentrationMeasurementClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterUserLabelClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Chloramines Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief User Label Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -8554,55 +4053,55 @@ chip::Protocols::InteractionModel::Status MatterChloraminesConcentrationMeasurem * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterChloraminesConcentrationMeasurementClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterUserLabelClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Chloramines Concentration Measurement Cluster Server Tick +/** @brief User Label Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfChloraminesConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfUserLabelClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Chloramines Concentration Measurement Cluster Client Tick +/** @brief User Label Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfChloraminesConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfUserLabelClusterClientTickCallback(chip::EndpointId endpoint); // -// Chlorine Concentration Measurement Cluster +// Proxy Configuration Cluster // -/** @brief Chlorine Concentration Measurement Cluster Server Init +/** @brief Proxy Configuration Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfChlorineConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfProxyConfigurationClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Chlorine Concentration Measurement Cluster Client Init +/** @brief Proxy Configuration Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfChlorineConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfProxyConfigurationClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Chlorine Concentration Measurement Cluster Server Attribute Changed +/** @brief Proxy Configuration Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterChlorineConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterProxyConfigurationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Chlorine Concentration Measurement Cluster Server Message Sent +/** @brief Proxy Configuration Cluster Server Message Sent * * Server Message Sent * @@ -8612,11 +4111,11 @@ void MatterChlorineConcentrationMeasurementClusterServerAttributeChangedCallback * @param message The message that was sent * @param status The status of the sent message */ -void emberAfChlorineConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfProxyConfigurationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Chlorine Concentration Measurement Cluster Client Message Sent +/** @brief Proxy Configuration Cluster Client Message Sent * * Client Message Sent * @@ -8626,11 +4125,11 @@ void emberAfChlorineConcentrationMeasurementClusterServerMessageSentCallback(con * @param message The message that was sent * @param status The status of the sent message */ -void emberAfChlorineConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfProxyConfigurationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Chlorine Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Proxy Configuration Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -8639,10 +4138,10 @@ void emberAfChlorineConcentrationMeasurementClusterClientMessageSentCallback(con * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterChlorineConcentrationMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterProxyConfigurationClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Chlorine Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Proxy Configuration Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -8651,55 +4150,54 @@ chip::Protocols::InteractionModel::Status MatterChlorineConcentrationMeasurement * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterChlorineConcentrationMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterProxyConfigurationClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Chlorine Concentration Measurement Cluster Server Tick +/** @brief Proxy Configuration Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfChlorineConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfProxyConfigurationClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Chlorine Concentration Measurement Cluster Client Tick +/** @brief Proxy Configuration Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfChlorineConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfProxyConfigurationClusterClientTickCallback(chip::EndpointId endpoint); // -// Fecal coliform and E. Coli Concentration Measurement Cluster +// Proxy Discovery Cluster // -/** @brief Fecal coliform and E. Coli Concentration Measurement Cluster Server Init +/** @brief Proxy Discovery Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfFecalColiformAndEColiConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfProxyDiscoveryClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Fecal coliform and E. Coli Concentration Measurement Cluster Client Init +/** @brief Proxy Discovery Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfFecalColiformAndEColiConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfProxyDiscoveryClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Fecal coliform and E. Coli Concentration Measurement Cluster Server Attribute Changed +/** @brief Proxy Discovery Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterFecalColiformAndEColiConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterProxyDiscoveryClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Fecal coliform and E. Coli Concentration Measurement Cluster Server Message Sent +/** @brief Proxy Discovery Cluster Server Message Sent * * Server Message Sent * @@ -8709,11 +4207,11 @@ void MatterFecalColiformAndEColiConcentrationMeasurementClusterServerAttributeCh * @param message The message that was sent * @param status The status of the sent message */ -void emberAfFecalColiformAndEColiConcentrationMeasurementClusterServerMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfProxyDiscoveryClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Fecal coliform and E. Coli Concentration Measurement Cluster Client Message Sent +/** @brief Proxy Discovery Cluster Client Message Sent * * Client Message Sent * @@ -8723,11 +4221,11 @@ void emberAfFecalColiformAndEColiConcentrationMeasurementClusterServerMessageSen * @param message The message that was sent * @param status The status of the sent message */ -void emberAfFecalColiformAndEColiConcentrationMeasurementClusterClientMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfProxyDiscoveryClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Fecal coliform and E. Coli Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Proxy Discovery Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -8737,10 +4235,10 @@ void emberAfFecalColiformAndEColiConcentrationMeasurementClusterClientMessageSen * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterFecalColiformAndEColiConcentrationMeasurementClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterProxyDiscoveryClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Fecal coliform and E. Coli Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Proxy Discovery Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -8750,55 +4248,54 @@ MatterFecalColiformAndEColiConcentrationMeasurementClusterServerPreAttributeChan * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterFecalColiformAndEColiConcentrationMeasurementClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterProxyDiscoveryClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Fecal coliform and E. Coli Concentration Measurement Cluster Server Tick +/** @brief Proxy Discovery Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfFecalColiformAndEColiConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfProxyDiscoveryClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Fecal coliform and E. Coli Concentration Measurement Cluster Client Tick +/** @brief Proxy Discovery Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfFecalColiformAndEColiConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfProxyDiscoveryClusterClientTickCallback(chip::EndpointId endpoint); // -// Fluoride Concentration Measurement Cluster +// Proxy Valid Cluster // -/** @brief Fluoride Concentration Measurement Cluster Server Init +/** @brief Proxy Valid Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfFluorideConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfProxyValidClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Fluoride Concentration Measurement Cluster Client Init +/** @brief Proxy Valid Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfFluorideConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfProxyValidClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Fluoride Concentration Measurement Cluster Server Attribute Changed +/** @brief Proxy Valid Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterFluorideConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterProxyValidClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Fluoride Concentration Measurement Cluster Server Message Sent +/** @brief Proxy Valid Cluster Server Message Sent * * Server Message Sent * @@ -8808,11 +4305,10 @@ void MatterFluorideConcentrationMeasurementClusterServerAttributeChangedCallback * @param message The message that was sent * @param status The status of the sent message */ -void emberAfFluorideConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfProxyValidClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Fluoride Concentration Measurement Cluster Client Message Sent +/** @brief Proxy Valid Cluster Client Message Sent * * Client Message Sent * @@ -8822,11 +4318,10 @@ void emberAfFluorideConcentrationMeasurementClusterServerMessageSentCallback(con * @param message The message that was sent * @param status The status of the sent message */ -void emberAfFluorideConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfProxyValidClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Fluoride Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Proxy Valid Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -8835,10 +4330,11 @@ void emberAfFluorideConcentrationMeasurementClusterClientMessageSentCallback(con * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterFluorideConcentrationMeasurementClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterProxyValidClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Fluoride Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Proxy Valid Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -8847,55 +4343,55 @@ chip::Protocols::InteractionModel::Status MatterFluorideConcentrationMeasurement * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterFluorideConcentrationMeasurementClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterProxyValidClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Fluoride Concentration Measurement Cluster Server Tick +/** @brief Proxy Valid Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfFluorideConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfProxyValidClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Fluoride Concentration Measurement Cluster Client Tick +/** @brief Proxy Valid Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfFluorideConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfProxyValidClusterClientTickCallback(chip::EndpointId endpoint); // -// Haloacetic Acids Concentration Measurement Cluster +// Boolean State Cluster // -/** @brief Haloacetic Acids Concentration Measurement Cluster Server Init +/** @brief Boolean State Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfHaloaceticAcidsConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfBooleanStateClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Haloacetic Acids Concentration Measurement Cluster Client Init +/** @brief Boolean State Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfHaloaceticAcidsConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfBooleanStateClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Haloacetic Acids Concentration Measurement Cluster Server Attribute Changed +/** @brief Boolean State Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterHaloaceticAcidsConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterBooleanStateClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Haloacetic Acids Concentration Measurement Cluster Server Message Sent +/** @brief Boolean State Cluster Server Message Sent * * Server Message Sent * @@ -8905,11 +4401,10 @@ void MatterHaloaceticAcidsConcentrationMeasurementClusterServerAttributeChangedC * @param message The message that was sent * @param status The status of the sent message */ -void emberAfHaloaceticAcidsConcentrationMeasurementClusterServerMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfBooleanStateClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Haloacetic Acids Concentration Measurement Cluster Client Message Sent +/** @brief Boolean State Cluster Client Message Sent * * Client Message Sent * @@ -8919,11 +4414,10 @@ void emberAfHaloaceticAcidsConcentrationMeasurementClusterServerMessageSentCallb * @param message The message that was sent * @param status The status of the sent message */ -void emberAfHaloaceticAcidsConcentrationMeasurementClusterClientMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfBooleanStateClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Haloacetic Acids Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Boolean State Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -8932,10 +4426,11 @@ void emberAfHaloaceticAcidsConcentrationMeasurementClusterClientMessageSentCallb * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterHaloaceticAcidsConcentrationMeasurementClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterBooleanStateClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Haloacetic Acids Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Boolean State Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -8944,55 +4439,55 @@ chip::Protocols::InteractionModel::Status MatterHaloaceticAcidsConcentrationMeas * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterHaloaceticAcidsConcentrationMeasurementClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterBooleanStateClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Haloacetic Acids Concentration Measurement Cluster Server Tick +/** @brief Boolean State Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfHaloaceticAcidsConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfBooleanStateClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Haloacetic Acids Concentration Measurement Cluster Client Tick +/** @brief Boolean State Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfHaloaceticAcidsConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfBooleanStateClusterClientTickCallback(chip::EndpointId endpoint); // -// Total Trihalomethanes Concentration Measurement Cluster +// Mode Select Cluster // -/** @brief Total Trihalomethanes Concentration Measurement Cluster Server Init +/** @brief Mode Select Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfTotalTrihalomethanesConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfModeSelectClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Total Trihalomethanes Concentration Measurement Cluster Client Init +/** @brief Mode Select Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfTotalTrihalomethanesConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfModeSelectClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Total Trihalomethanes Concentration Measurement Cluster Server Attribute Changed +/** @brief Mode Select Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterTotalTrihalomethanesConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterModeSelectClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Total Trihalomethanes Concentration Measurement Cluster Server Message Sent +/** @brief Mode Select Cluster Server Message Sent * * Server Message Sent * @@ -9002,11 +4497,10 @@ void MatterTotalTrihalomethanesConcentrationMeasurementClusterServerAttributeCha * @param message The message that was sent * @param status The status of the sent message */ -void emberAfTotalTrihalomethanesConcentrationMeasurementClusterServerMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfModeSelectClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Total Trihalomethanes Concentration Measurement Cluster Client Message Sent +/** @brief Mode Select Cluster Client Message Sent * * Client Message Sent * @@ -9016,11 +4510,10 @@ void emberAfTotalTrihalomethanesConcentrationMeasurementClusterServerMessageSent * @param message The message that was sent * @param status The status of the sent message */ -void emberAfTotalTrihalomethanesConcentrationMeasurementClusterClientMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfModeSelectClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Total Trihalomethanes Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Mode Select Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -9030,10 +4523,10 @@ void emberAfTotalTrihalomethanesConcentrationMeasurementClusterClientMessageSent * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterTotalTrihalomethanesConcentrationMeasurementClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterModeSelectClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Total Trihalomethanes Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Mode Select Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -9043,55 +4536,54 @@ MatterTotalTrihalomethanesConcentrationMeasurementClusterServerPreAttributeChang * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterTotalTrihalomethanesConcentrationMeasurementClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterModeSelectClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Total Trihalomethanes Concentration Measurement Cluster Server Tick +/** @brief Mode Select Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfTotalTrihalomethanesConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfModeSelectClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Total Trihalomethanes Concentration Measurement Cluster Client Tick +/** @brief Mode Select Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfTotalTrihalomethanesConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfModeSelectClusterClientTickCallback(chip::EndpointId endpoint); // -// Total Coliform Bacteria Concentration Measurement Cluster +// Door Lock Cluster // -/** @brief Total Coliform Bacteria Concentration Measurement Cluster Server Init +/** @brief Door Lock Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfTotalColiformBacteriaConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfDoorLockClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Total Coliform Bacteria Concentration Measurement Cluster Client Init +/** @brief Door Lock Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfTotalColiformBacteriaConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfDoorLockClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Total Coliform Bacteria Concentration Measurement Cluster Server Attribute Changed +/** @brief Door Lock Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterTotalColiformBacteriaConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterDoorLockClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Total Coliform Bacteria Concentration Measurement Cluster Server Message Sent +/** @brief Door Lock Cluster Server Message Sent * * Server Message Sent * @@ -9101,11 +4593,10 @@ void MatterTotalColiformBacteriaConcentrationMeasurementClusterServerAttributeCh * @param message The message that was sent * @param status The status of the sent message */ -void emberAfTotalColiformBacteriaConcentrationMeasurementClusterServerMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfDoorLockClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Total Coliform Bacteria Concentration Measurement Cluster Client Message Sent +/** @brief Door Lock Cluster Client Message Sent * * Client Message Sent * @@ -9115,11 +4606,10 @@ void emberAfTotalColiformBacteriaConcentrationMeasurementClusterServerMessageSen * @param message The message that was sent * @param status The status of the sent message */ -void emberAfTotalColiformBacteriaConcentrationMeasurementClusterClientMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfDoorLockClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Total Coliform Bacteria Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Door Lock Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -9129,10 +4619,10 @@ void emberAfTotalColiformBacteriaConcentrationMeasurementClusterClientMessageSen * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterTotalColiformBacteriaConcentrationMeasurementClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterDoorLockClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Total Coliform Bacteria Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Door Lock Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -9142,55 +4632,54 @@ MatterTotalColiformBacteriaConcentrationMeasurementClusterServerPreAttributeChan * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterTotalColiformBacteriaConcentrationMeasurementClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterDoorLockClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Total Coliform Bacteria Concentration Measurement Cluster Server Tick +/** @brief Door Lock Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfTotalColiformBacteriaConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfDoorLockClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Total Coliform Bacteria Concentration Measurement Cluster Client Tick +/** @brief Door Lock Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfTotalColiformBacteriaConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfDoorLockClusterClientTickCallback(chip::EndpointId endpoint); // -// Turbidity Concentration Measurement Cluster +// Window Covering Cluster // -/** @brief Turbidity Concentration Measurement Cluster Server Init +/** @brief Window Covering Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfTurbidityConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfWindowCoveringClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Turbidity Concentration Measurement Cluster Client Init +/** @brief Window Covering Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfTurbidityConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfWindowCoveringClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Turbidity Concentration Measurement Cluster Server Attribute Changed +/** @brief Window Covering Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterTurbidityConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterWindowCoveringClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Turbidity Concentration Measurement Cluster Server Message Sent +/** @brief Window Covering Cluster Server Message Sent * * Server Message Sent * @@ -9200,11 +4689,11 @@ void MatterTurbidityConcentrationMeasurementClusterServerAttributeChangedCallbac * @param message The message that was sent * @param status The status of the sent message */ -void emberAfTurbidityConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfWindowCoveringClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Turbidity Concentration Measurement Cluster Client Message Sent +/** @brief Window Covering Cluster Client Message Sent * * Client Message Sent * @@ -9214,11 +4703,11 @@ void emberAfTurbidityConcentrationMeasurementClusterServerMessageSentCallback(co * @param message The message that was sent * @param status The status of the sent message */ -void emberAfTurbidityConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfWindowCoveringClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Turbidity Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Window Covering Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -9227,10 +4716,11 @@ void emberAfTurbidityConcentrationMeasurementClusterClientMessageSentCallback(co * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterTurbidityConcentrationMeasurementClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterWindowCoveringClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Turbidity Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Window Covering Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -9239,55 +4729,55 @@ chip::Protocols::InteractionModel::Status MatterTurbidityConcentrationMeasuremen * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterTurbidityConcentrationMeasurementClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterWindowCoveringClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Turbidity Concentration Measurement Cluster Server Tick +/** @brief Window Covering Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfTurbidityConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfWindowCoveringClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Turbidity Concentration Measurement Cluster Client Tick +/** @brief Window Covering Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfTurbidityConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfWindowCoveringClusterClientTickCallback(chip::EndpointId endpoint); // -// Copper Concentration Measurement Cluster +// Barrier Control Cluster // -/** @brief Copper Concentration Measurement Cluster Server Init +/** @brief Barrier Control Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfCopperConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfBarrierControlClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Copper Concentration Measurement Cluster Client Init +/** @brief Barrier Control Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfCopperConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfBarrierControlClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Copper Concentration Measurement Cluster Server Attribute Changed +/** @brief Barrier Control Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterCopperConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterBarrierControlClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Copper Concentration Measurement Cluster Server Message Sent +/** @brief Barrier Control Cluster Server Message Sent * * Server Message Sent * @@ -9297,11 +4787,11 @@ void MatterCopperConcentrationMeasurementClusterServerAttributeChangedCallback( * @param message The message that was sent * @param status The status of the sent message */ -void emberAfCopperConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfBarrierControlClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Copper Concentration Measurement Cluster Client Message Sent +/** @brief Barrier Control Cluster Client Message Sent * * Client Message Sent * @@ -9311,11 +4801,11 @@ void emberAfCopperConcentrationMeasurementClusterServerMessageSentCallback(const * @param message The message that was sent * @param status The status of the sent message */ -void emberAfCopperConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfBarrierControlClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Copper Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Barrier Control Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -9324,10 +4814,11 @@ void emberAfCopperConcentrationMeasurementClusterClientMessageSentCallback(const * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterCopperConcentrationMeasurementClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterBarrierControlClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Copper Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Barrier Control Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -9336,55 +4827,55 @@ chip::Protocols::InteractionModel::Status MatterCopperConcentrationMeasurementCl * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterCopperConcentrationMeasurementClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterBarrierControlClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Copper Concentration Measurement Cluster Server Tick +/** @brief Barrier Control Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfCopperConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfBarrierControlClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Copper Concentration Measurement Cluster Client Tick +/** @brief Barrier Control Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfCopperConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfBarrierControlClusterClientTickCallback(chip::EndpointId endpoint); // -// Lead Concentration Measurement Cluster +// Pump Configuration and Control Cluster // -/** @brief Lead Concentration Measurement Cluster Server Init +/** @brief Pump Configuration and Control Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfLeadConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfPumpConfigurationAndControlClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Lead Concentration Measurement Cluster Client Init +/** @brief Pump Configuration and Control Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfLeadConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfPumpConfigurationAndControlClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Lead Concentration Measurement Cluster Server Attribute Changed +/** @brief Pump Configuration and Control Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterLeadConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterPumpConfigurationAndControlClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Lead Concentration Measurement Cluster Server Message Sent +/** @brief Pump Configuration and Control Cluster Server Message Sent * * Server Message Sent * @@ -9394,11 +4885,11 @@ void MatterLeadConcentrationMeasurementClusterServerAttributeChangedCallback( * @param message The message that was sent * @param status The status of the sent message */ -void emberAfLeadConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfPumpConfigurationAndControlClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, + uint8_t * message, EmberStatus status); -/** @brief Lead Concentration Measurement Cluster Client Message Sent +/** @brief Pump Configuration and Control Cluster Client Message Sent * * Client Message Sent * @@ -9408,11 +4899,11 @@ void emberAfLeadConcentrationMeasurementClusterServerMessageSentCallback(const c * @param message The message that was sent * @param status The status of the sent message */ -void emberAfLeadConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfPumpConfigurationAndControlClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, + uint8_t * message, EmberStatus status); -/** @brief Lead Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Pump Configuration and Control Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -9421,10 +4912,10 @@ void emberAfLeadConcentrationMeasurementClusterClientMessageSentCallback(const c * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterLeadConcentrationMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterPumpConfigurationAndControlClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Lead Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Pump Configuration and Control Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -9433,55 +4924,54 @@ chip::Protocols::InteractionModel::Status MatterLeadConcentrationMeasurementClus * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterLeadConcentrationMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterPumpConfigurationAndControlClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Lead Concentration Measurement Cluster Server Tick +/** @brief Pump Configuration and Control Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfLeadConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfPumpConfigurationAndControlClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Lead Concentration Measurement Cluster Client Tick +/** @brief Pump Configuration and Control Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfLeadConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfPumpConfigurationAndControlClusterClientTickCallback(chip::EndpointId endpoint); // -// Manganese Concentration Measurement Cluster +// Thermostat Cluster // -/** @brief Manganese Concentration Measurement Cluster Server Init +/** @brief Thermostat Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfManganeseConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfThermostatClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Manganese Concentration Measurement Cluster Client Init +/** @brief Thermostat Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfManganeseConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfThermostatClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Manganese Concentration Measurement Cluster Server Attribute Changed +/** @brief Thermostat Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterManganeseConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterThermostatClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Manganese Concentration Measurement Cluster Server Message Sent +/** @brief Thermostat Cluster Server Message Sent * * Server Message Sent * @@ -9491,11 +4981,10 @@ void MatterManganeseConcentrationMeasurementClusterServerAttributeChangedCallbac * @param message The message that was sent * @param status The status of the sent message */ -void emberAfManganeseConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfThermostatClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Manganese Concentration Measurement Cluster Client Message Sent +/** @brief Thermostat Cluster Client Message Sent * * Client Message Sent * @@ -9505,11 +4994,10 @@ void emberAfManganeseConcentrationMeasurementClusterServerMessageSentCallback(co * @param message The message that was sent * @param status The status of the sent message */ -void emberAfManganeseConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfThermostatClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Manganese Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Thermostat Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -9518,10 +5006,11 @@ void emberAfManganeseConcentrationMeasurementClusterClientMessageSentCallback(co * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterManganeseConcentrationMeasurementClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterThermostatClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Manganese Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Thermostat Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -9530,55 +5019,55 @@ chip::Protocols::InteractionModel::Status MatterManganeseConcentrationMeasuremen * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterManganeseConcentrationMeasurementClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterThermostatClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Manganese Concentration Measurement Cluster Server Tick +/** @brief Thermostat Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfManganeseConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfThermostatClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Manganese Concentration Measurement Cluster Client Tick +/** @brief Thermostat Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfManganeseConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfThermostatClusterClientTickCallback(chip::EndpointId endpoint); // -// Sulfate Concentration Measurement Cluster +// Fan Control Cluster // -/** @brief Sulfate Concentration Measurement Cluster Server Init +/** @brief Fan Control Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfSulfateConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfFanControlClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Sulfate Concentration Measurement Cluster Client Init +/** @brief Fan Control Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfSulfateConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfFanControlClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Sulfate Concentration Measurement Cluster Server Attribute Changed +/** @brief Fan Control Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterSulfateConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterFanControlClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Sulfate Concentration Measurement Cluster Server Message Sent +/** @brief Fan Control Cluster Server Message Sent * * Server Message Sent * @@ -9588,11 +5077,10 @@ void MatterSulfateConcentrationMeasurementClusterServerAttributeChangedCallback( * @param message The message that was sent * @param status The status of the sent message */ -void emberAfSulfateConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfFanControlClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Sulfate Concentration Measurement Cluster Client Message Sent +/** @brief Fan Control Cluster Client Message Sent * * Client Message Sent * @@ -9602,11 +5090,10 @@ void emberAfSulfateConcentrationMeasurementClusterServerMessageSentCallback(cons * @param message The message that was sent * @param status The status of the sent message */ -void emberAfSulfateConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfFanControlClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Sulfate Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Fan Control Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -9615,10 +5102,11 @@ void emberAfSulfateConcentrationMeasurementClusterClientMessageSentCallback(cons * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterSulfateConcentrationMeasurementClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterFanControlClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Sulfate Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Fan Control Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -9627,55 +5115,56 @@ chip::Protocols::InteractionModel::Status MatterSulfateConcentrationMeasurementC * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterSulfateConcentrationMeasurementClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterFanControlClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Sulfate Concentration Measurement Cluster Server Tick +/** @brief Fan Control Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfSulfateConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfFanControlClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Sulfate Concentration Measurement Cluster Client Tick +/** @brief Fan Control Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfSulfateConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfFanControlClusterClientTickCallback(chip::EndpointId endpoint); // -// Bromodichloromethane Concentration Measurement Cluster +// Thermostat User Interface Configuration Cluster // -/** @brief Bromodichloromethane Concentration Measurement Cluster Server Init +/** @brief Thermostat User Interface Configuration Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfBromodichloromethaneConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfThermostatUserInterfaceConfigurationClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Bromodichloromethane Concentration Measurement Cluster Client Init +/** @brief Thermostat User Interface Configuration Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfBromodichloromethaneConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfThermostatUserInterfaceConfigurationClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Bromodichloromethane Concentration Measurement Cluster Server Attribute Changed +/** @brief Thermostat User Interface Configuration Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterBromodichloromethaneConcentrationMeasurementClusterServerAttributeChangedCallback( +void MatterThermostatUserInterfaceConfigurationClusterServerAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath); -/** @brief Bromodichloromethane Concentration Measurement Cluster Server Message Sent +/** @brief Thermostat User Interface Configuration Cluster Server Message Sent * * Server Message Sent * @@ -9685,11 +5174,11 @@ void MatterBromodichloromethaneConcentrationMeasurementClusterServerAttributeCha * @param message The message that was sent * @param status The status of the sent message */ -void emberAfBromodichloromethaneConcentrationMeasurementClusterServerMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfThermostatUserInterfaceConfigurationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, + uint8_t * message, EmberStatus status); -/** @brief Bromodichloromethane Concentration Measurement Cluster Client Message Sent +/** @brief Thermostat User Interface Configuration Cluster Client Message Sent * * Client Message Sent * @@ -9699,11 +5188,11 @@ void emberAfBromodichloromethaneConcentrationMeasurementClusterServerMessageSent * @param message The message that was sent * @param status The status of the sent message */ -void emberAfBromodichloromethaneConcentrationMeasurementClusterClientMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfThermostatUserInterfaceConfigurationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, + uint8_t * message, EmberStatus status); -/** @brief Bromodichloromethane Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Thermostat User Interface Configuration Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -9712,11 +5201,10 @@ void emberAfBromodichloromethaneConcentrationMeasurementClusterClientMessageSent * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status -MatterBromodichloromethaneConcentrationMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterThermostatUserInterfaceConfigurationClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Bromodichloromethane Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Thermostat User Interface Configuration Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -9725,56 +5213,54 @@ MatterBromodichloromethaneConcentrationMeasurementClusterServerPreAttributeChang * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status -MatterBromodichloromethaneConcentrationMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterThermostatUserInterfaceConfigurationClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Bromodichloromethane Concentration Measurement Cluster Server Tick +/** @brief Thermostat User Interface Configuration Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfBromodichloromethaneConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfThermostatUserInterfaceConfigurationClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Bromodichloromethane Concentration Measurement Cluster Client Tick +/** @brief Thermostat User Interface Configuration Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfBromodichloromethaneConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfThermostatUserInterfaceConfigurationClusterClientTickCallback(chip::EndpointId endpoint); // -// Bromoform Concentration Measurement Cluster +// Color Control Cluster // -/** @brief Bromoform Concentration Measurement Cluster Server Init +/** @brief Color Control Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfBromoformConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfColorControlClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Bromoform Concentration Measurement Cluster Client Init +/** @brief Color Control Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfBromoformConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfColorControlClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Bromoform Concentration Measurement Cluster Server Attribute Changed +/** @brief Color Control Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterBromoformConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterColorControlClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Bromoform Concentration Measurement Cluster Server Message Sent +/** @brief Color Control Cluster Server Message Sent * * Server Message Sent * @@ -9784,11 +5270,10 @@ void MatterBromoformConcentrationMeasurementClusterServerAttributeChangedCallbac * @param message The message that was sent * @param status The status of the sent message */ -void emberAfBromoformConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfColorControlClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Bromoform Concentration Measurement Cluster Client Message Sent +/** @brief Color Control Cluster Client Message Sent * * Client Message Sent * @@ -9798,11 +5283,10 @@ void emberAfBromoformConcentrationMeasurementClusterServerMessageSentCallback(co * @param message The message that was sent * @param status The status of the sent message */ -void emberAfBromoformConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfColorControlClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Bromoform Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Color Control Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -9811,10 +5295,11 @@ void emberAfBromoformConcentrationMeasurementClusterClientMessageSentCallback(co * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterBromoformConcentrationMeasurementClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterColorControlClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Bromoform Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Color Control Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -9823,55 +5308,55 @@ chip::Protocols::InteractionModel::Status MatterBromoformConcentrationMeasuremen * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterBromoformConcentrationMeasurementClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterColorControlClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Bromoform Concentration Measurement Cluster Server Tick +/** @brief Color Control Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfBromoformConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfColorControlClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Bromoform Concentration Measurement Cluster Client Tick +/** @brief Color Control Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfBromoformConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfColorControlClusterClientTickCallback(chip::EndpointId endpoint); // -// Chlorodibromomethane Concentration Measurement Cluster +// Ballast Configuration Cluster // -/** @brief Chlorodibromomethane Concentration Measurement Cluster Server Init +/** @brief Ballast Configuration Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfChlorodibromomethaneConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfBallastConfigurationClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Chlorodibromomethane Concentration Measurement Cluster Client Init +/** @brief Ballast Configuration Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfChlorodibromomethaneConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfBallastConfigurationClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Chlorodibromomethane Concentration Measurement Cluster Server Attribute Changed +/** @brief Ballast Configuration Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterChlorodibromomethaneConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterBallastConfigurationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Chlorodibromomethane Concentration Measurement Cluster Server Message Sent +/** @brief Ballast Configuration Cluster Server Message Sent * * Server Message Sent * @@ -9881,11 +5366,11 @@ void MatterChlorodibromomethaneConcentrationMeasurementClusterServerAttributeCha * @param message The message that was sent * @param status The status of the sent message */ -void emberAfChlorodibromomethaneConcentrationMeasurementClusterServerMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfBallastConfigurationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Chlorodibromomethane Concentration Measurement Cluster Client Message Sent +/** @brief Ballast Configuration Cluster Client Message Sent * * Client Message Sent * @@ -9895,11 +5380,11 @@ void emberAfChlorodibromomethaneConcentrationMeasurementClusterServerMessageSent * @param message The message that was sent * @param status The status of the sent message */ -void emberAfChlorodibromomethaneConcentrationMeasurementClusterClientMessageSentCallback( - const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfBallastConfigurationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Chlorodibromomethane Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Ballast Configuration Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -9908,11 +5393,10 @@ void emberAfChlorodibromomethaneConcentrationMeasurementClusterClientMessageSent * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status -MatterChlorodibromomethaneConcentrationMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterBallastConfigurationClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Chlorodibromomethane Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Ballast Configuration Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -9921,56 +5405,54 @@ MatterChlorodibromomethaneConcentrationMeasurementClusterServerPreAttributeChang * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status -MatterChlorodibromomethaneConcentrationMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterBallastConfigurationClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Chlorodibromomethane Concentration Measurement Cluster Server Tick +/** @brief Ballast Configuration Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfChlorodibromomethaneConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfBallastConfigurationClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Chlorodibromomethane Concentration Measurement Cluster Client Tick +/** @brief Ballast Configuration Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfChlorodibromomethaneConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfBallastConfigurationClusterClientTickCallback(chip::EndpointId endpoint); // -// Chloroform Concentration Measurement Cluster +// Illuminance Measurement Cluster // -/** @brief Chloroform Concentration Measurement Cluster Server Init +/** @brief Illuminance Measurement Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfChloroformConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfIlluminanceMeasurementClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Chloroform Concentration Measurement Cluster Client Init +/** @brief Illuminance Measurement Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfChloroformConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfIlluminanceMeasurementClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Chloroform Concentration Measurement Cluster Server Attribute Changed +/** @brief Illuminance Measurement Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterChloroformConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterIlluminanceMeasurementClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Chloroform Concentration Measurement Cluster Server Message Sent +/** @brief Illuminance Measurement Cluster Server Message Sent * * Server Message Sent * @@ -9980,11 +5462,11 @@ void MatterChloroformConcentrationMeasurementClusterServerAttributeChangedCallba * @param message The message that was sent * @param status The status of the sent message */ -void emberAfChloroformConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfIlluminanceMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Chloroform Concentration Measurement Cluster Client Message Sent +/** @brief Illuminance Measurement Cluster Client Message Sent * * Client Message Sent * @@ -9994,11 +5476,11 @@ void emberAfChloroformConcentrationMeasurementClusterServerMessageSentCallback(c * @param message The message that was sent * @param status The status of the sent message */ -void emberAfChloroformConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfIlluminanceMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Chloroform Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Illuminance Measurement Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -10007,10 +5489,10 @@ void emberAfChloroformConcentrationMeasurementClusterClientMessageSentCallback(c * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterChloroformConcentrationMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterIlluminanceMeasurementClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Chloroform Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Illuminance Measurement Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -10019,55 +5501,54 @@ chip::Protocols::InteractionModel::Status MatterChloroformConcentrationMeasureme * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterChloroformConcentrationMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterIlluminanceMeasurementClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Chloroform Concentration Measurement Cluster Server Tick +/** @brief Illuminance Measurement Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfChloroformConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfIlluminanceMeasurementClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Chloroform Concentration Measurement Cluster Client Tick +/** @brief Illuminance Measurement Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfChloroformConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfIlluminanceMeasurementClusterClientTickCallback(chip::EndpointId endpoint); // -// Sodium Concentration Measurement Cluster +// Temperature Measurement Cluster // -/** @brief Sodium Concentration Measurement Cluster Server Init +/** @brief Temperature Measurement Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfSodiumConcentrationMeasurementClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfTemperatureMeasurementClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Sodium Concentration Measurement Cluster Client Init +/** @brief Temperature Measurement Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfSodiumConcentrationMeasurementClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfTemperatureMeasurementClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Sodium Concentration Measurement Cluster Server Attribute Changed +/** @brief Temperature Measurement Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterSodiumConcentrationMeasurementClusterServerAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath); +void MatterTemperatureMeasurementClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Sodium Concentration Measurement Cluster Server Message Sent +/** @brief Temperature Measurement Cluster Server Message Sent * * Server Message Sent * @@ -10077,11 +5558,11 @@ void MatterSodiumConcentrationMeasurementClusterServerAttributeChangedCallback( * @param message The message that was sent * @param status The status of the sent message */ -void emberAfSodiumConcentrationMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfTemperatureMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Sodium Concentration Measurement Cluster Client Message Sent +/** @brief Temperature Measurement Cluster Client Message Sent * * Client Message Sent * @@ -10091,11 +5572,11 @@ void emberAfSodiumConcentrationMeasurementClusterServerMessageSentCallback(const * @param message The message that was sent * @param status The status of the sent message */ -void emberAfSodiumConcentrationMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, - uint8_t * message, EmberStatus status); +void emberAfTemperatureMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Sodium Concentration Measurement Cluster Server Pre Attribute Changed +/** @brief Temperature Measurement Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -10104,10 +5585,10 @@ void emberAfSodiumConcentrationMeasurementClusterClientMessageSentCallback(const * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterSodiumConcentrationMeasurementClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterTemperatureMeasurementClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Sodium Concentration Measurement Cluster Client Pre Attribute Changed +/** @brief Temperature Measurement Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -10116,54 +5597,54 @@ chip::Protocols::InteractionModel::Status MatterSodiumConcentrationMeasurementCl * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterSodiumConcentrationMeasurementClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterTemperatureMeasurementClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Sodium Concentration Measurement Cluster Server Tick +/** @brief Temperature Measurement Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfSodiumConcentrationMeasurementClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfTemperatureMeasurementClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Sodium Concentration Measurement Cluster Client Tick +/** @brief Temperature Measurement Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfSodiumConcentrationMeasurementClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfTemperatureMeasurementClusterClientTickCallback(chip::EndpointId endpoint); // -// Wake on LAN Cluster +// Pressure Measurement Cluster // -/** @brief Wake on LAN Cluster Server Init +/** @brief Pressure Measurement Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfWakeOnLanClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfPressureMeasurementClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Wake on LAN Cluster Client Init +/** @brief Pressure Measurement Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfWakeOnLanClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfPressureMeasurementClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Wake on LAN Cluster Server Attribute Changed +/** @brief Pressure Measurement Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterWakeOnLanClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterPressureMeasurementClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Wake on LAN Cluster Server Message Sent +/** @brief Pressure Measurement Cluster Server Message Sent * * Server Message Sent * @@ -10173,10 +5654,11 @@ void MatterWakeOnLanClusterServerAttributeChangedCallback(const chip::app::Concr * @param message The message that was sent * @param status The status of the sent message */ -void emberAfWakeOnLanClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfPressureMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Wake on LAN Cluster Client Message Sent +/** @brief Pressure Measurement Cluster Client Message Sent * * Client Message Sent * @@ -10186,10 +5668,11 @@ void emberAfWakeOnLanClusterServerMessageSentCallback(const chip::MessageSendDes * @param message The message that was sent * @param status The status of the sent message */ -void emberAfWakeOnLanClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfPressureMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Wake on LAN Cluster Server Pre Attribute Changed +/** @brief Pressure Measurement Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -10198,11 +5681,10 @@ void emberAfWakeOnLanClusterClientMessageSentCallback(const chip::MessageSendDes * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status -MatterWakeOnLanClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status MatterPressureMeasurementClusterServerPreAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Wake on LAN Cluster Client Pre Attribute Changed +/** @brief Pressure Measurement Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -10211,55 +5693,54 @@ MatterWakeOnLanClusterServerPreAttributeChangedCallback(const chip::app::Concret * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status -MatterWakeOnLanClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status MatterPressureMeasurementClusterClientPreAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Wake on LAN Cluster Server Tick +/** @brief Pressure Measurement Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfWakeOnLanClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfPressureMeasurementClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Wake on LAN Cluster Client Tick +/** @brief Pressure Measurement Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfWakeOnLanClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfPressureMeasurementClusterClientTickCallback(chip::EndpointId endpoint); // -// Channel Cluster +// Flow Measurement Cluster // -/** @brief Channel Cluster Server Init +/** @brief Flow Measurement Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfChannelClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfFlowMeasurementClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Channel Cluster Client Init +/** @brief Flow Measurement Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfChannelClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfFlowMeasurementClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Channel Cluster Server Attribute Changed +/** @brief Flow Measurement Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterChannelClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterFlowMeasurementClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Channel Cluster Server Message Sent +/** @brief Flow Measurement Cluster Server Message Sent * * Server Message Sent * @@ -10269,10 +5750,11 @@ void MatterChannelClusterServerAttributeChangedCallback(const chip::app::Concret * @param message The message that was sent * @param status The status of the sent message */ -void emberAfChannelClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfFlowMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Channel Cluster Client Message Sent +/** @brief Flow Measurement Cluster Client Message Sent * * Client Message Sent * @@ -10282,10 +5764,11 @@ void emberAfChannelClusterServerMessageSentCallback(const chip::MessageSendDesti * @param message The message that was sent * @param status The status of the sent message */ -void emberAfChannelClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfFlowMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Channel Cluster Server Pre Attribute Changed +/** @brief Flow Measurement Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -10295,10 +5778,10 @@ void emberAfChannelClusterClientMessageSentCallback(const chip::MessageSendDesti * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterChannelClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterFlowMeasurementClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Channel Cluster Client Pre Attribute Changed +/** @brief Flow Measurement Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -10308,54 +5791,54 @@ MatterChannelClusterServerPreAttributeChangedCallback(const chip::app::ConcreteA * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterChannelClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterFlowMeasurementClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Channel Cluster Server Tick +/** @brief Flow Measurement Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfChannelClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfFlowMeasurementClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Channel Cluster Client Tick +/** @brief Flow Measurement Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfChannelClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfFlowMeasurementClusterClientTickCallback(chip::EndpointId endpoint); // -// Target Navigator Cluster +// Relative Humidity Measurement Cluster // -/** @brief Target Navigator Cluster Server Init +/** @brief Relative Humidity Measurement Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfTargetNavigatorClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfRelativeHumidityMeasurementClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Target Navigator Cluster Client Init +/** @brief Relative Humidity Measurement Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfTargetNavigatorClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfRelativeHumidityMeasurementClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Target Navigator Cluster Server Attribute Changed +/** @brief Relative Humidity Measurement Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterTargetNavigatorClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterRelativeHumidityMeasurementClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Target Navigator Cluster Server Message Sent +/** @brief Relative Humidity Measurement Cluster Server Message Sent * * Server Message Sent * @@ -10365,11 +5848,11 @@ void MatterTargetNavigatorClusterServerAttributeChangedCallback(const chip::app: * @param message The message that was sent * @param status The status of the sent message */ -void emberAfTargetNavigatorClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfRelativeHumidityMeasurementClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, + uint8_t * message, EmberStatus status); -/** @brief Target Navigator Cluster Client Message Sent +/** @brief Relative Humidity Measurement Cluster Client Message Sent * * Client Message Sent * @@ -10379,11 +5862,11 @@ void emberAfTargetNavigatorClusterServerMessageSentCallback(const chip::MessageS * @param message The message that was sent * @param status The status of the sent message */ -void emberAfTargetNavigatorClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfRelativeHumidityMeasurementClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, + uint8_t * message, EmberStatus status); -/** @brief Target Navigator Cluster Server Pre Attribute Changed +/** @brief Relative Humidity Measurement Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -10392,11 +5875,10 @@ void emberAfTargetNavigatorClusterClientMessageSentCallback(const chip::MessageS * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status -MatterTargetNavigatorClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status MatterRelativeHumidityMeasurementClusterServerPreAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Target Navigator Cluster Client Pre Attribute Changed +/** @brief Relative Humidity Measurement Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -10405,55 +5887,54 @@ MatterTargetNavigatorClusterServerPreAttributeChangedCallback(const chip::app::C * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status -MatterTargetNavigatorClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status MatterRelativeHumidityMeasurementClusterClientPreAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Target Navigator Cluster Server Tick +/** @brief Relative Humidity Measurement Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfTargetNavigatorClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfRelativeHumidityMeasurementClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Target Navigator Cluster Client Tick +/** @brief Relative Humidity Measurement Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfTargetNavigatorClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfRelativeHumidityMeasurementClusterClientTickCallback(chip::EndpointId endpoint); // -// Media Playback Cluster +// Occupancy Sensing Cluster // -/** @brief Media Playback Cluster Server Init +/** @brief Occupancy Sensing Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfMediaPlaybackClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfOccupancySensingClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Media Playback Cluster Client Init +/** @brief Occupancy Sensing Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfMediaPlaybackClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfOccupancySensingClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Media Playback Cluster Server Attribute Changed +/** @brief Occupancy Sensing Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterMediaPlaybackClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterOccupancySensingClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Media Playback Cluster Server Message Sent +/** @brief Occupancy Sensing Cluster Server Message Sent * * Server Message Sent * @@ -10463,11 +5944,11 @@ void MatterMediaPlaybackClusterServerAttributeChangedCallback(const chip::app::C * @param message The message that was sent * @param status The status of the sent message */ -void emberAfMediaPlaybackClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfOccupancySensingClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Media Playback Cluster Client Message Sent +/** @brief Occupancy Sensing Cluster Client Message Sent * * Client Message Sent * @@ -10477,11 +5958,11 @@ void emberAfMediaPlaybackClusterServerMessageSentCallback(const chip::MessageSen * @param message The message that was sent * @param status The status of the sent message */ -void emberAfMediaPlaybackClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfOccupancySensingClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Media Playback Cluster Server Pre Attribute Changed +/** @brief Occupancy Sensing Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -10491,10 +5972,10 @@ void emberAfMediaPlaybackClusterClientMessageSentCallback(const chip::MessageSen * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterMediaPlaybackClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterOccupancySensingClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Media Playback Cluster Client Pre Attribute Changed +/** @brief Occupancy Sensing Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -10504,54 +5985,54 @@ MatterMediaPlaybackClusterServerPreAttributeChangedCallback(const chip::app::Con * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterMediaPlaybackClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterOccupancySensingClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Media Playback Cluster Server Tick +/** @brief Occupancy Sensing Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfMediaPlaybackClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfOccupancySensingClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Media Playback Cluster Client Tick +/** @brief Occupancy Sensing Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfMediaPlaybackClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfOccupancySensingClusterClientTickCallback(chip::EndpointId endpoint); // -// Media Input Cluster +// Wake on LAN Cluster // -/** @brief Media Input Cluster Server Init +/** @brief Wake on LAN Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfMediaInputClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfWakeOnLanClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Media Input Cluster Client Init +/** @brief Wake on LAN Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfMediaInputClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfWakeOnLanClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Media Input Cluster Server Attribute Changed +/** @brief Wake on LAN Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterMediaInputClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterWakeOnLanClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Media Input Cluster Server Message Sent +/** @brief Wake on LAN Cluster Server Message Sent * * Server Message Sent * @@ -10561,10 +6042,10 @@ void MatterMediaInputClusterServerAttributeChangedCallback(const chip::app::Conc * @param message The message that was sent * @param status The status of the sent message */ -void emberAfMediaInputClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfWakeOnLanClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Media Input Cluster Client Message Sent +/** @brief Wake on LAN Cluster Client Message Sent * * Client Message Sent * @@ -10574,10 +6055,10 @@ void emberAfMediaInputClusterServerMessageSentCallback(const chip::MessageSendDe * @param message The message that was sent * @param status The status of the sent message */ -void emberAfMediaInputClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfWakeOnLanClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Media Input Cluster Server Pre Attribute Changed +/** @brief Wake on LAN Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -10587,10 +6068,10 @@ void emberAfMediaInputClusterClientMessageSentCallback(const chip::MessageSendDe * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterMediaInputClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterWakeOnLanClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Media Input Cluster Client Pre Attribute Changed +/** @brief Wake on LAN Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -10600,54 +6081,54 @@ MatterMediaInputClusterServerPreAttributeChangedCallback(const chip::app::Concre * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterMediaInputClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterWakeOnLanClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Media Input Cluster Server Tick +/** @brief Wake on LAN Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfMediaInputClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfWakeOnLanClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Media Input Cluster Client Tick +/** @brief Wake on LAN Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfMediaInputClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfWakeOnLanClusterClientTickCallback(chip::EndpointId endpoint); // -// Low Power Cluster +// Channel Cluster // -/** @brief Low Power Cluster Server Init +/** @brief Channel Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfLowPowerClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfChannelClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Low Power Cluster Client Init +/** @brief Channel Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfLowPowerClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfChannelClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Low Power Cluster Server Attribute Changed +/** @brief Channel Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterLowPowerClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterChannelClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Low Power Cluster Server Message Sent +/** @brief Channel Cluster Server Message Sent * * Server Message Sent * @@ -10657,10 +6138,10 @@ void MatterLowPowerClusterServerAttributeChangedCallback(const chip::app::Concre * @param message The message that was sent * @param status The status of the sent message */ -void emberAfLowPowerClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfChannelClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Low Power Cluster Client Message Sent +/** @brief Channel Cluster Client Message Sent * * Client Message Sent * @@ -10670,10 +6151,10 @@ void emberAfLowPowerClusterServerMessageSentCallback(const chip::MessageSendDest * @param message The message that was sent * @param status The status of the sent message */ -void emberAfLowPowerClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfChannelClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Low Power Cluster Server Pre Attribute Changed +/** @brief Channel Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -10683,10 +6164,10 @@ void emberAfLowPowerClusterClientMessageSentCallback(const chip::MessageSendDest * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterLowPowerClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterChannelClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Low Power Cluster Client Pre Attribute Changed +/** @brief Channel Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -10696,54 +6177,54 @@ MatterLowPowerClusterServerPreAttributeChangedCallback(const chip::app::Concrete * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterLowPowerClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterChannelClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Low Power Cluster Server Tick +/** @brief Channel Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfLowPowerClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfChannelClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Low Power Cluster Client Tick +/** @brief Channel Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfLowPowerClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfChannelClusterClientTickCallback(chip::EndpointId endpoint); // -// Keypad Input Cluster +// Target Navigator Cluster // -/** @brief Keypad Input Cluster Server Init +/** @brief Target Navigator Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfKeypadInputClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfTargetNavigatorClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Keypad Input Cluster Client Init +/** @brief Target Navigator Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfKeypadInputClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfTargetNavigatorClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Keypad Input Cluster Server Attribute Changed +/** @brief Target Navigator Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterKeypadInputClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterTargetNavigatorClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Keypad Input Cluster Server Message Sent +/** @brief Target Navigator Cluster Server Message Sent * * Server Message Sent * @@ -10753,10 +6234,11 @@ void MatterKeypadInputClusterServerAttributeChangedCallback(const chip::app::Con * @param message The message that was sent * @param status The status of the sent message */ -void emberAfKeypadInputClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfTargetNavigatorClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Keypad Input Cluster Client Message Sent +/** @brief Target Navigator Cluster Client Message Sent * * Client Message Sent * @@ -10766,10 +6248,11 @@ void emberAfKeypadInputClusterServerMessageSentCallback(const chip::MessageSendD * @param message The message that was sent * @param status The status of the sent message */ -void emberAfKeypadInputClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfTargetNavigatorClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Keypad Input Cluster Server Pre Attribute Changed +/** @brief Target Navigator Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -10779,10 +6262,10 @@ void emberAfKeypadInputClusterClientMessageSentCallback(const chip::MessageSendD * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterKeypadInputClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterTargetNavigatorClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Keypad Input Cluster Client Pre Attribute Changed +/** @brief Target Navigator Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -10792,54 +6275,54 @@ MatterKeypadInputClusterServerPreAttributeChangedCallback(const chip::app::Concr * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterKeypadInputClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterTargetNavigatorClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Keypad Input Cluster Server Tick +/** @brief Target Navigator Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfKeypadInputClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfTargetNavigatorClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Keypad Input Cluster Client Tick +/** @brief Target Navigator Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfKeypadInputClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfTargetNavigatorClusterClientTickCallback(chip::EndpointId endpoint); // -// Content Launcher Cluster +// Media Playback Cluster // -/** @brief Content Launcher Cluster Server Init +/** @brief Media Playback Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfContentLauncherClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfMediaPlaybackClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Content Launcher Cluster Client Init +/** @brief Media Playback Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfContentLauncherClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfMediaPlaybackClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Content Launcher Cluster Server Attribute Changed +/** @brief Media Playback Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterContentLauncherClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterMediaPlaybackClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Content Launcher Cluster Server Message Sent +/** @brief Media Playback Cluster Server Message Sent * * Server Message Sent * @@ -10849,11 +6332,11 @@ void MatterContentLauncherClusterServerAttributeChangedCallback(const chip::app: * @param message The message that was sent * @param status The status of the sent message */ -void emberAfContentLauncherClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfMediaPlaybackClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Content Launcher Cluster Client Message Sent +/** @brief Media Playback Cluster Client Message Sent * * Client Message Sent * @@ -10863,11 +6346,11 @@ void emberAfContentLauncherClusterServerMessageSentCallback(const chip::MessageS * @param message The message that was sent * @param status The status of the sent message */ -void emberAfContentLauncherClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfMediaPlaybackClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Content Launcher Cluster Server Pre Attribute Changed +/** @brief Media Playback Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -10877,10 +6360,10 @@ void emberAfContentLauncherClusterClientMessageSentCallback(const chip::MessageS * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterContentLauncherClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterMediaPlaybackClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Content Launcher Cluster Client Pre Attribute Changed +/** @brief Media Playback Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -10890,54 +6373,54 @@ MatterContentLauncherClusterServerPreAttributeChangedCallback(const chip::app::C * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterContentLauncherClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterMediaPlaybackClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Content Launcher Cluster Server Tick +/** @brief Media Playback Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfContentLauncherClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfMediaPlaybackClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Content Launcher Cluster Client Tick +/** @brief Media Playback Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfContentLauncherClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfMediaPlaybackClusterClientTickCallback(chip::EndpointId endpoint); // -// Audio Output Cluster +// Media Input Cluster // -/** @brief Audio Output Cluster Server Init +/** @brief Media Input Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfAudioOutputClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfMediaInputClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Audio Output Cluster Client Init +/** @brief Media Input Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfAudioOutputClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfMediaInputClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Audio Output Cluster Server Attribute Changed +/** @brief Media Input Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterAudioOutputClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterMediaInputClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Audio Output Cluster Server Message Sent +/** @brief Media Input Cluster Server Message Sent * * Server Message Sent * @@ -10947,10 +6430,10 @@ void MatterAudioOutputClusterServerAttributeChangedCallback(const chip::app::Con * @param message The message that was sent * @param status The status of the sent message */ -void emberAfAudioOutputClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfMediaInputClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Audio Output Cluster Client Message Sent +/** @brief Media Input Cluster Client Message Sent * * Client Message Sent * @@ -10960,10 +6443,10 @@ void emberAfAudioOutputClusterServerMessageSentCallback(const chip::MessageSendD * @param message The message that was sent * @param status The status of the sent message */ -void emberAfAudioOutputClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfMediaInputClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Audio Output Cluster Server Pre Attribute Changed +/** @brief Media Input Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -10973,10 +6456,10 @@ void emberAfAudioOutputClusterClientMessageSentCallback(const chip::MessageSendD * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterAudioOutputClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterMediaInputClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Audio Output Cluster Client Pre Attribute Changed +/** @brief Media Input Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -10986,54 +6469,54 @@ MatterAudioOutputClusterServerPreAttributeChangedCallback(const chip::app::Concr * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterAudioOutputClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterMediaInputClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Audio Output Cluster Server Tick +/** @brief Media Input Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfAudioOutputClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfMediaInputClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Audio Output Cluster Client Tick +/** @brief Media Input Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfAudioOutputClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfMediaInputClusterClientTickCallback(chip::EndpointId endpoint); // -// Application Launcher Cluster +// Low Power Cluster // -/** @brief Application Launcher Cluster Server Init +/** @brief Low Power Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfApplicationLauncherClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfLowPowerClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Application Launcher Cluster Client Init +/** @brief Low Power Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfApplicationLauncherClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfLowPowerClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Application Launcher Cluster Server Attribute Changed +/** @brief Low Power Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterApplicationLauncherClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterLowPowerClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Application Launcher Cluster Server Message Sent +/** @brief Low Power Cluster Server Message Sent * * Server Message Sent * @@ -11043,11 +6526,10 @@ void MatterApplicationLauncherClusterServerAttributeChangedCallback(const chip:: * @param message The message that was sent * @param status The status of the sent message */ -void emberAfApplicationLauncherClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfLowPowerClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Application Launcher Cluster Client Message Sent +/** @brief Low Power Cluster Client Message Sent * * Client Message Sent * @@ -11057,11 +6539,10 @@ void emberAfApplicationLauncherClusterServerMessageSentCallback(const chip::Mess * @param message The message that was sent * @param status The status of the sent message */ -void emberAfApplicationLauncherClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfLowPowerClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Application Launcher Cluster Server Pre Attribute Changed +/** @brief Low Power Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -11070,10 +6551,11 @@ void emberAfApplicationLauncherClusterClientMessageSentCallback(const chip::Mess * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterApplicationLauncherClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterLowPowerClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Application Launcher Cluster Client Pre Attribute Changed +/** @brief Low Power Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -11082,54 +6564,55 @@ chip::Protocols::InteractionModel::Status MatterApplicationLauncherClusterServer * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterApplicationLauncherClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterLowPowerClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Application Launcher Cluster Server Tick +/** @brief Low Power Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfApplicationLauncherClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfLowPowerClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Application Launcher Cluster Client Tick +/** @brief Low Power Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfApplicationLauncherClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfLowPowerClusterClientTickCallback(chip::EndpointId endpoint); // -// Application Basic Cluster +// Keypad Input Cluster // -/** @brief Application Basic Cluster Server Init +/** @brief Keypad Input Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfApplicationBasicClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfKeypadInputClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Application Basic Cluster Client Init +/** @brief Keypad Input Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfApplicationBasicClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfKeypadInputClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Application Basic Cluster Server Attribute Changed +/** @brief Keypad Input Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterApplicationBasicClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterKeypadInputClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Application Basic Cluster Server Message Sent +/** @brief Keypad Input Cluster Server Message Sent * * Server Message Sent * @@ -11139,11 +6622,10 @@ void MatterApplicationBasicClusterServerAttributeChangedCallback(const chip::app * @param message The message that was sent * @param status The status of the sent message */ -void emberAfApplicationBasicClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfKeypadInputClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Application Basic Cluster Client Message Sent +/** @brief Keypad Input Cluster Client Message Sent * * Client Message Sent * @@ -11153,11 +6635,10 @@ void emberAfApplicationBasicClusterServerMessageSentCallback(const chip::Message * @param message The message that was sent * @param status The status of the sent message */ -void emberAfApplicationBasicClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfKeypadInputClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Application Basic Cluster Server Pre Attribute Changed +/** @brief Keypad Input Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -11167,10 +6648,10 @@ void emberAfApplicationBasicClusterClientMessageSentCallback(const chip::Message * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterApplicationBasicClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterKeypadInputClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Application Basic Cluster Client Pre Attribute Changed +/** @brief Keypad Input Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -11180,54 +6661,54 @@ MatterApplicationBasicClusterServerPreAttributeChangedCallback(const chip::app:: * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterApplicationBasicClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterKeypadInputClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Application Basic Cluster Server Tick +/** @brief Keypad Input Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfApplicationBasicClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfKeypadInputClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Application Basic Cluster Client Tick +/** @brief Keypad Input Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfApplicationBasicClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfKeypadInputClusterClientTickCallback(chip::EndpointId endpoint); // -// Account Login Cluster +// Content Launcher Cluster // -/** @brief Account Login Cluster Server Init +/** @brief Content Launcher Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfAccountLoginClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfContentLauncherClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Account Login Cluster Client Init +/** @brief Content Launcher Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfAccountLoginClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfContentLauncherClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Account Login Cluster Server Attribute Changed +/** @brief Content Launcher Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterAccountLoginClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterContentLauncherClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Account Login Cluster Server Message Sent +/** @brief Content Launcher Cluster Server Message Sent * * Server Message Sent * @@ -11237,10 +6718,11 @@ void MatterAccountLoginClusterServerAttributeChangedCallback(const chip::app::Co * @param message The message that was sent * @param status The status of the sent message */ -void emberAfAccountLoginClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); +void emberAfContentLauncherClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Account Login Cluster Client Message Sent +/** @brief Content Launcher Cluster Client Message Sent * * Client Message Sent * @@ -11249,11 +6731,12 @@ void emberAfAccountLoginClusterServerMessageSentCallback(const chip::MessageSend * @param msgLen The length of the message * @param message The message that was sent * @param status The status of the sent message - */ -void emberAfAccountLoginClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, - uint16_t msgLen, uint8_t * message, EmberStatus status); + */ +void emberAfContentLauncherClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Account Login Cluster Server Pre Attribute Changed +/** @brief Content Launcher Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -11263,10 +6746,10 @@ void emberAfAccountLoginClusterClientMessageSentCallback(const chip::MessageSend * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterAccountLoginClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterContentLauncherClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Account Login Cluster Client Pre Attribute Changed +/** @brief Content Launcher Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -11276,54 +6759,54 @@ MatterAccountLoginClusterServerPreAttributeChangedCallback(const chip::app::Conc * @param value Attribute value */ chip::Protocols::InteractionModel::Status -MatterAccountLoginClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, - EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +MatterContentLauncherClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Account Login Cluster Server Tick +/** @brief Content Launcher Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfAccountLoginClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfContentLauncherClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Account Login Cluster Client Tick +/** @brief Content Launcher Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfAccountLoginClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfContentLauncherClusterClientTickCallback(chip::EndpointId endpoint); // -// Appliance Identification Cluster +// Audio Output Cluster // -/** @brief Appliance Identification Cluster Server Init +/** @brief Audio Output Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfApplianceIdentificationClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfAudioOutputClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Appliance Identification Cluster Client Init +/** @brief Audio Output Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfApplianceIdentificationClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfAudioOutputClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Appliance Identification Cluster Server Attribute Changed +/** @brief Audio Output Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterApplianceIdentificationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterAudioOutputClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Appliance Identification Cluster Server Message Sent +/** @brief Audio Output Cluster Server Message Sent * * Server Message Sent * @@ -11333,11 +6816,10 @@ void MatterApplianceIdentificationClusterServerAttributeChangedCallback(const ch * @param message The message that was sent * @param status The status of the sent message */ -void emberAfApplianceIdentificationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfAudioOutputClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Appliance Identification Cluster Client Message Sent +/** @brief Audio Output Cluster Client Message Sent * * Client Message Sent * @@ -11347,11 +6829,10 @@ void emberAfApplianceIdentificationClusterServerMessageSentCallback(const chip:: * @param message The message that was sent * @param status The status of the sent message */ -void emberAfApplianceIdentificationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfAudioOutputClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Appliance Identification Cluster Server Pre Attribute Changed +/** @brief Audio Output Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -11360,10 +6841,11 @@ void emberAfApplianceIdentificationClusterClientMessageSentCallback(const chip:: * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterApplianceIdentificationClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterAudioOutputClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Appliance Identification Cluster Client Pre Attribute Changed +/** @brief Audio Output Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -11372,54 +6854,55 @@ chip::Protocols::InteractionModel::Status MatterApplianceIdentificationClusterSe * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterApplianceIdentificationClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterAudioOutputClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Appliance Identification Cluster Server Tick +/** @brief Audio Output Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfApplianceIdentificationClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfAudioOutputClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Appliance Identification Cluster Client Tick +/** @brief Audio Output Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfApplianceIdentificationClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfAudioOutputClusterClientTickCallback(chip::EndpointId endpoint); // -// Meter Identification Cluster +// Application Launcher Cluster // -/** @brief Meter Identification Cluster Server Init +/** @brief Application Launcher Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfMeterIdentificationClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfApplicationLauncherClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Meter Identification Cluster Client Init +/** @brief Application Launcher Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfMeterIdentificationClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfApplicationLauncherClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Meter Identification Cluster Server Attribute Changed +/** @brief Application Launcher Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterMeterIdentificationClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterApplicationLauncherClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Meter Identification Cluster Server Message Sent +/** @brief Application Launcher Cluster Server Message Sent * * Server Message Sent * @@ -11429,11 +6912,11 @@ void MatterMeterIdentificationClusterServerAttributeChangedCallback(const chip:: * @param message The message that was sent * @param status The status of the sent message */ -void emberAfMeterIdentificationClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, +void emberAfApplicationLauncherClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Meter Identification Cluster Client Message Sent +/** @brief Application Launcher Cluster Client Message Sent * * Client Message Sent * @@ -11443,11 +6926,11 @@ void emberAfMeterIdentificationClusterServerMessageSentCallback(const chip::Mess * @param message The message that was sent * @param status The status of the sent message */ -void emberAfMeterIdentificationClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, +void emberAfApplicationLauncherClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Meter Identification Cluster Server Pre Attribute Changed +/** @brief Application Launcher Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -11456,10 +6939,10 @@ void emberAfMeterIdentificationClusterClientMessageSentCallback(const chip::Mess * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterMeterIdentificationClusterServerPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterApplicationLauncherClusterServerPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Meter Identification Cluster Client Pre Attribute Changed +/** @brief Application Launcher Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -11468,54 +6951,54 @@ chip::Protocols::InteractionModel::Status MatterMeterIdentificationClusterServer * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterMeterIdentificationClusterClientPreAttributeChangedCallback( +chip::Protocols::InteractionModel::Status MatterApplicationLauncherClusterClientPreAttributeChangedCallback( const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Meter Identification Cluster Server Tick +/** @brief Application Launcher Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfMeterIdentificationClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfApplicationLauncherClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Meter Identification Cluster Client Tick +/** @brief Application Launcher Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfMeterIdentificationClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfApplicationLauncherClusterClientTickCallback(chip::EndpointId endpoint); // -// Appliance Events and Alert Cluster +// Application Basic Cluster // -/** @brief Appliance Events and Alert Cluster Server Init +/** @brief Application Basic Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfApplianceEventsAndAlertClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfApplicationBasicClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Appliance Events and Alert Cluster Client Init +/** @brief Application Basic Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfApplianceEventsAndAlertClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfApplicationBasicClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Appliance Events and Alert Cluster Server Attribute Changed +/** @brief Application Basic Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterApplianceEventsAndAlertClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterApplicationBasicClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Appliance Events and Alert Cluster Server Message Sent +/** @brief Application Basic Cluster Server Message Sent * * Server Message Sent * @@ -11525,11 +7008,11 @@ void MatterApplianceEventsAndAlertClusterServerAttributeChangedCallback(const ch * @param message The message that was sent * @param status The status of the sent message */ -void emberAfApplianceEventsAndAlertClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfApplicationBasicClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Appliance Events and Alert Cluster Client Message Sent +/** @brief Application Basic Cluster Client Message Sent * * Client Message Sent * @@ -11539,11 +7022,11 @@ void emberAfApplianceEventsAndAlertClusterServerMessageSentCallback(const chip:: * @param message The message that was sent * @param status The status of the sent message */ -void emberAfApplianceEventsAndAlertClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfApplicationBasicClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, + EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, + EmberStatus status); -/** @brief Appliance Events and Alert Cluster Server Pre Attribute Changed +/** @brief Application Basic Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -11552,10 +7035,11 @@ void emberAfApplianceEventsAndAlertClusterClientMessageSentCallback(const chip:: * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterApplianceEventsAndAlertClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterApplicationBasicClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Appliance Events and Alert Cluster Client Pre Attribute Changed +/** @brief Application Basic Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -11564,54 +7048,55 @@ chip::Protocols::InteractionModel::Status MatterApplianceEventsAndAlertClusterSe * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterApplianceEventsAndAlertClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterApplicationBasicClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Appliance Events and Alert Cluster Server Tick +/** @brief Application Basic Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfApplianceEventsAndAlertClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfApplicationBasicClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Appliance Events and Alert Cluster Client Tick +/** @brief Application Basic Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfApplianceEventsAndAlertClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfApplicationBasicClusterClientTickCallback(chip::EndpointId endpoint); // -// Appliance Statistics Cluster +// Account Login Cluster // -/** @brief Appliance Statistics Cluster Server Init +/** @brief Account Login Cluster Server Init * * Server Init * * @param endpoint Endpoint that is being initialized */ -void emberAfApplianceStatisticsClusterServerInitCallback(chip::EndpointId endpoint); +void emberAfAccountLoginClusterServerInitCallback(chip::EndpointId endpoint); -/** @brief Appliance Statistics Cluster Client Init +/** @brief Account Login Cluster Client Init * * Client Init * * @param endpoint Endpoint that is being initialized */ -void emberAfApplianceStatisticsClusterClientInitCallback(chip::EndpointId endpoint); +void emberAfAccountLoginClusterClientInitCallback(chip::EndpointId endpoint); -/** @brief Appliance Statistics Cluster Server Attribute Changed +/** @brief Account Login Cluster Server Attribute Changed * * Server Attribute Changed * * @param attributePath Concrete attribute path that changed */ -void MatterApplianceStatisticsClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); +void MatterAccountLoginClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); -/** @brief Appliance Statistics Cluster Server Message Sent +/** @brief Account Login Cluster Server Message Sent * * Server Message Sent * @@ -11621,11 +7106,10 @@ void MatterApplianceStatisticsClusterServerAttributeChangedCallback(const chip:: * @param message The message that was sent * @param status The status of the sent message */ -void emberAfApplianceStatisticsClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfAccountLoginClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Appliance Statistics Cluster Client Message Sent +/** @brief Account Login Cluster Client Message Sent * * Client Message Sent * @@ -11635,11 +7119,10 @@ void emberAfApplianceStatisticsClusterServerMessageSentCallback(const chip::Mess * @param message The message that was sent * @param status The status of the sent message */ -void emberAfApplianceStatisticsClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); +void emberAfAccountLoginClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); -/** @brief Appliance Statistics Cluster Server Pre Attribute Changed +/** @brief Account Login Cluster Server Pre Attribute Changed * * Server Pre Attribute Changed * @@ -11648,10 +7131,11 @@ void emberAfApplianceStatisticsClusterClientMessageSentCallback(const chip::Mess * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterApplianceStatisticsClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterAccountLoginClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Appliance Statistics Cluster Client Pre Attribute Changed +/** @brief Account Login Cluster Client Pre Attribute Changed * * Client Pre Attribute Changed * @@ -11660,24 +7144,25 @@ chip::Protocols::InteractionModel::Status MatterApplianceStatisticsClusterServer * @param size Attribute size * @param value Attribute value */ -chip::Protocols::InteractionModel::Status MatterApplianceStatisticsClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); +chip::Protocols::InteractionModel::Status +MatterAccountLoginClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); -/** @brief Appliance Statistics Cluster Server Tick +/** @brief Account Login Cluster Server Tick * * Server Tick * * @param endpoint Endpoint that is being served */ -void emberAfApplianceStatisticsClusterServerTickCallback(chip::EndpointId endpoint); +void emberAfAccountLoginClusterServerTickCallback(chip::EndpointId endpoint); -/** @brief Appliance Statistics Cluster Client Tick +/** @brief Account Login Cluster Client Tick * * Client Tick * * @param endpoint Endpoint that is being served */ -void emberAfApplianceStatisticsClusterClientTickCallback(chip::EndpointId endpoint); +void emberAfAccountLoginClusterClientTickCallback(chip::EndpointId endpoint); // // Electrical Measurement Cluster @@ -12138,241 +7623,6 @@ bool emberAfLevelControlClusterStopWithOnOffCallback( bool emberAfLevelControlClusterMoveToClosestFrequencyCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::LevelControl::Commands::MoveToClosestFrequency::DecodableType & commandData); -/** - * @brief Alarms Cluster ResetAlarm Command callback (from client) - */ -bool emberAfAlarmsClusterResetAlarmCallback(chip::app::CommandHandler * commandObj, - const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::Alarms::Commands::ResetAlarm::DecodableType & commandData); -/** - * @brief Alarms Cluster Alarm Command callback (from server) - */ -bool emberAfAlarmsClusterAlarmCallback(chip::EndpointId endpoint, chip::app::CommandSender * commandObj, uint8_t alarmCode, - chip::ClusterId clusterId); -/** - * @brief Alarms Cluster ResetAllAlarms Command callback (from client) - */ -bool emberAfAlarmsClusterResetAllAlarmsCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::Alarms::Commands::ResetAllAlarms::DecodableType & commandData); -/** - * @brief Alarms Cluster GetAlarmResponse Command callback (from server) - */ -bool emberAfAlarmsClusterGetAlarmResponseCallback(chip::EndpointId endpoint, chip::app::CommandSender * commandObj, uint8_t status, - uint8_t alarmCode, chip::ClusterId clusterId, uint32_t timeStamp); -/** - * @brief Alarms Cluster GetAlarm Command callback (from client) - */ -bool emberAfAlarmsClusterGetAlarmCallback(chip::app::CommandHandler * commandObj, - const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::Alarms::Commands::GetAlarm::DecodableType & commandData); -/** - * @brief Alarms Cluster ResetAlarmLog Command callback (from client) - */ -bool emberAfAlarmsClusterResetAlarmLogCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::Alarms::Commands::ResetAlarmLog::DecodableType & commandData); -/** - * @brief Power Profile Cluster PowerProfileRequest Command callback (from client) - */ -bool emberAfPowerProfileClusterPowerProfileRequestCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::PowerProfile::Commands::PowerProfileRequest::DecodableType & commandData); -/** - * @brief Power Profile Cluster PowerProfileNotification Command callback (from server) - */ -bool emberAfPowerProfileClusterPowerProfileNotificationCallback( - chip::EndpointId endpoint, chip::app::CommandSender * commandObj, uint8_t totalProfileNum, uint8_t powerProfileId, - uint8_t numOfTransferredPhases, /* TYPE WARNING: array array defaults to */ uint8_t * transferredPhases); -/** - * @brief Power Profile Cluster PowerProfileStateRequest Command callback (from client) - */ -bool emberAfPowerProfileClusterPowerProfileStateRequestCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::PowerProfile::Commands::PowerProfileStateRequest::DecodableType & commandData); -/** - * @brief Power Profile Cluster PowerProfileResponse Command callback (from server) - */ -bool emberAfPowerProfileClusterPowerProfileResponseCallback( - chip::EndpointId endpoint, chip::app::CommandSender * commandObj, uint8_t totalProfileNum, uint8_t powerProfileId, - uint8_t numOfTransferredPhases, /* TYPE WARNING: array array defaults to */ uint8_t * transferredPhases); -/** - * @brief Power Profile Cluster GetPowerProfilePriceResponse Command callback (from client) - */ -bool emberAfPowerProfileClusterGetPowerProfilePriceResponseCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::PowerProfile::Commands::GetPowerProfilePriceResponse::DecodableType & commandData); -/** - * @brief Power Profile Cluster PowerProfileStateResponse Command callback (from server) - */ -bool emberAfPowerProfileClusterPowerProfileStateResponseCallback( - chip::EndpointId endpoint, chip::app::CommandSender * commandObj, uint8_t powerProfileCount, - /* TYPE WARNING: array array defaults to */ uint8_t * powerProfileRecords); -/** - * @brief Power Profile Cluster GetOverallSchedulePriceResponse Command callback (from client) - */ -bool emberAfPowerProfileClusterGetOverallSchedulePriceResponseCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::PowerProfile::Commands::GetOverallSchedulePriceResponse::DecodableType & commandData); -/** - * @brief Power Profile Cluster GetPowerProfilePrice Command callback (from server) - */ -bool emberAfPowerProfileClusterGetPowerProfilePriceCallback(chip::EndpointId endpoint, chip::app::CommandSender * commandObj, - uint8_t powerProfileId); -/** - * @brief Power Profile Cluster EnergyPhasesScheduleNotification Command callback (from client) - */ -bool emberAfPowerProfileClusterEnergyPhasesScheduleNotificationCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::PowerProfile::Commands::EnergyPhasesScheduleNotification::DecodableType & commandData); -/** - * @brief Power Profile Cluster PowerProfilesStateNotification Command callback (from server) - */ -bool emberAfPowerProfileClusterPowerProfilesStateNotificationCallback( - chip::EndpointId endpoint, chip::app::CommandSender * commandObj, uint8_t powerProfileCount, - /* TYPE WARNING: array array defaults to */ uint8_t * powerProfileRecords); -/** - * @brief Power Profile Cluster EnergyPhasesScheduleResponse Command callback (from client) - */ -bool emberAfPowerProfileClusterEnergyPhasesScheduleResponseCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::PowerProfile::Commands::EnergyPhasesScheduleResponse::DecodableType & commandData); -/** - * @brief Power Profile Cluster GetOverallSchedulePrice Command callback (from server) - */ -bool emberAfPowerProfileClusterGetOverallSchedulePriceCallback(chip::EndpointId endpoint, chip::app::CommandSender * commandObj); -/** - * @brief Power Profile Cluster PowerProfileScheduleConstraintsRequest Command callback (from client) - */ -bool emberAfPowerProfileClusterPowerProfileScheduleConstraintsRequestCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::PowerProfile::Commands::PowerProfileScheduleConstraintsRequest::DecodableType & commandData); -/** - * @brief Power Profile Cluster EnergyPhasesScheduleRequest Command callback (from server) - */ -bool emberAfPowerProfileClusterEnergyPhasesScheduleRequestCallback(chip::EndpointId endpoint, chip::app::CommandSender * commandObj, - uint8_t powerProfileId); -/** - * @brief Power Profile Cluster EnergyPhasesScheduleStateRequest Command callback (from client) - */ -bool emberAfPowerProfileClusterEnergyPhasesScheduleStateRequestCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::PowerProfile::Commands::EnergyPhasesScheduleStateRequest::DecodableType & commandData); -/** - * @brief Power Profile Cluster EnergyPhasesScheduleStateResponse Command callback (from server) - */ -bool emberAfPowerProfileClusterEnergyPhasesScheduleStateResponseCallback( - chip::EndpointId endpoint, chip::app::CommandSender * commandObj, uint8_t powerProfileId, uint8_t numOfScheduledPhases, - /* TYPE WARNING: array array defaults to */ uint8_t * scheduledPhases); -/** - * @brief Power Profile Cluster GetPowerProfilePriceExtendedResponse Command callback (from client) - */ -bool emberAfPowerProfileClusterGetPowerProfilePriceExtendedResponseCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::PowerProfile::Commands::GetPowerProfilePriceExtendedResponse::DecodableType & commandData); -/** - * @brief Power Profile Cluster EnergyPhasesScheduleStateNotification Command callback (from server) - */ -bool emberAfPowerProfileClusterEnergyPhasesScheduleStateNotificationCallback( - chip::EndpointId endpoint, chip::app::CommandSender * commandObj, uint8_t powerProfileId, uint8_t numOfScheduledPhases, - /* TYPE WARNING: array array defaults to */ uint8_t * scheduledPhases); -/** - * @brief Power Profile Cluster PowerProfileScheduleConstraintsNotification Command callback (from server) - */ -bool emberAfPowerProfileClusterPowerProfileScheduleConstraintsNotificationCallback(chip::EndpointId endpoint, - chip::app::CommandSender * commandObj, - uint8_t powerProfileId, uint16_t startAfter, - uint16_t stopBefore); -/** - * @brief Power Profile Cluster PowerProfileScheduleConstraintsResponse Command callback (from server) - */ -bool emberAfPowerProfileClusterPowerProfileScheduleConstraintsResponseCallback(chip::EndpointId endpoint, - chip::app::CommandSender * commandObj, - uint8_t powerProfileId, uint16_t startAfter, - uint16_t stopBefore); -/** - * @brief Power Profile Cluster GetPowerProfilePriceExtended Command callback (from server) - */ -bool emberAfPowerProfileClusterGetPowerProfilePriceExtendedCallback(chip::EndpointId endpoint, - chip::app::CommandSender * commandObj, uint8_t options, - uint8_t powerProfileId, uint16_t powerProfileStartTime); -/** - * @brief Appliance Control Cluster ExecutionOfACommand Command callback (from client) - */ -bool emberAfApplianceControlClusterExecutionOfACommandCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::ApplianceControl::Commands::ExecutionOfACommand::DecodableType & commandData); -/** - * @brief Appliance Control Cluster SignalStateResponse Command callback (from server) - */ -bool emberAfApplianceControlClusterSignalStateResponseCallback(chip::EndpointId endpoint, chip::app::CommandSender * commandObj, - uint8_t applianceStatus, uint8_t remoteEnableFlagsAndDeviceStatus2, - uint8_t applianceStatus2); -/** - * @brief Appliance Control Cluster SignalState Command callback (from client) - */ -bool emberAfApplianceControlClusterSignalStateCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::ApplianceControl::Commands::SignalState::DecodableType & commandData); -/** - * @brief Appliance Control Cluster SignalStateNotification Command callback (from server) - */ -bool emberAfApplianceControlClusterSignalStateNotificationCallback(chip::EndpointId endpoint, chip::app::CommandSender * commandObj, - uint8_t applianceStatus, - uint8_t remoteEnableFlagsAndDeviceStatus2, - uint8_t applianceStatus2); -/** - * @brief Appliance Control Cluster WriteFunctions Command callback (from client) - */ -bool emberAfApplianceControlClusterWriteFunctionsCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::ApplianceControl::Commands::WriteFunctions::DecodableType & commandData); -/** - * @brief Appliance Control Cluster OverloadPauseResume Command callback (from client) - */ -bool emberAfApplianceControlClusterOverloadPauseResumeCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::ApplianceControl::Commands::OverloadPauseResume::DecodableType & commandData); -/** - * @brief Appliance Control Cluster OverloadPause Command callback (from client) - */ -bool emberAfApplianceControlClusterOverloadPauseCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::ApplianceControl::Commands::OverloadPause::DecodableType & commandData); -/** - * @brief Appliance Control Cluster OverloadWarning Command callback (from client) - */ -bool emberAfApplianceControlClusterOverloadWarningCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::ApplianceControl::Commands::OverloadWarning::DecodableType & commandData); -/** - * @brief Poll Control Cluster CheckIn Command callback (from server) - */ -bool emberAfPollControlClusterCheckInCallback(chip::EndpointId endpoint, chip::app::CommandSender * commandObj); -/** - * @brief Poll Control Cluster CheckInResponse Command callback (from client) - */ -bool emberAfPollControlClusterCheckInResponseCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::PollControl::Commands::CheckInResponse::DecodableType & commandData); -/** - * @brief Poll Control Cluster FastPollStop Command callback (from client) - */ -bool emberAfPollControlClusterFastPollStopCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::PollControl::Commands::FastPollStop::DecodableType & commandData); -/** - * @brief Poll Control Cluster SetLongPollInterval Command callback (from client) - */ -bool emberAfPollControlClusterSetLongPollIntervalCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::PollControl::Commands::SetLongPollInterval::DecodableType & commandData); -/** - * @brief Poll Control Cluster SetShortPollInterval Command callback (from client) - */ -bool emberAfPollControlClusterSetShortPollIntervalCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::PollControl::Commands::SetShortPollInterval::DecodableType & commandData); /** * @brief Bridged Actions Cluster InstantAction Command callback (from client) */ @@ -13321,66 +8571,6 @@ bool emberAfAccountLoginClusterLoginCallback(chip::app::CommandHandler * command bool emberAfAccountLoginClusterLogoutCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::AccountLogin::Commands::Logout::DecodableType & commandData); -/** - * @brief Appliance Events and Alert Cluster GetAlerts Command callback (from client) - */ -bool emberAfApplianceEventsAndAlertClusterGetAlertsCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::ApplianceEventsAndAlert::Commands::GetAlerts::DecodableType & commandData); -/** - * @brief Appliance Events and Alert Cluster GetAlertsResponse Command callback (from server) - */ -bool emberAfApplianceEventsAndAlertClusterGetAlertsResponseCallback( - chip::EndpointId endpoint, chip::app::CommandSender * commandObj, uint8_t alertsCount, - /* TYPE WARNING: array array defaults to */ uint8_t * alertStructures); -/** - * @brief Appliance Events and Alert Cluster AlertsNotification Command callback (from server) - */ -bool emberAfApplianceEventsAndAlertClusterAlertsNotificationCallback( - chip::EndpointId endpoint, chip::app::CommandSender * commandObj, uint8_t alertsCount, - /* TYPE WARNING: array array defaults to */ uint8_t * alertStructures); -/** - * @brief Appliance Events and Alert Cluster EventsNotification Command callback (from server) - */ -bool emberAfApplianceEventsAndAlertClusterEventsNotificationCallback(chip::EndpointId endpoint, - chip::app::CommandSender * commandObj, uint8_t eventHeader, - uint8_t eventId); -/** - * @brief Appliance Statistics Cluster LogNotification Command callback (from server) - */ -bool emberAfApplianceStatisticsClusterLogNotificationCallback(chip::EndpointId endpoint, chip::app::CommandSender * commandObj, - uint32_t timeStamp, uint32_t logId, uint32_t logLength, - /* TYPE WARNING: array array defaults to */ uint8_t * logPayload); -/** - * @brief Appliance Statistics Cluster LogRequest Command callback (from client) - */ -bool emberAfApplianceStatisticsClusterLogRequestCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::ApplianceStatistics::Commands::LogRequest::DecodableType & commandData); -/** - * @brief Appliance Statistics Cluster LogResponse Command callback (from server) - */ -bool emberAfApplianceStatisticsClusterLogResponseCallback(chip::EndpointId endpoint, chip::app::CommandSender * commandObj, - uint32_t timeStamp, uint32_t logId, uint32_t logLength, - /* TYPE WARNING: array array defaults to */ uint8_t * logPayload); -/** - * @brief Appliance Statistics Cluster LogQueueRequest Command callback (from client) - */ -bool emberAfApplianceStatisticsClusterLogQueueRequestCallback( - chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::ApplianceStatistics::Commands::LogQueueRequest::DecodableType & commandData); -/** - * @brief Appliance Statistics Cluster LogQueueResponse Command callback (from server) - */ -bool emberAfApplianceStatisticsClusterLogQueueResponseCallback(chip::EndpointId endpoint, chip::app::CommandSender * commandObj, - uint8_t logQueueSize, - /* TYPE WARNING: array array defaults to */ uint8_t * logIds); -/** - * @brief Appliance Statistics Cluster StatisticsAvailable Command callback (from server) - */ -bool emberAfApplianceStatisticsClusterStatisticsAvailableCallback(chip::EndpointId endpoint, chip::app::CommandSender * commandObj, - uint8_t logQueueSize, - /* TYPE WARNING: array array defaults to */ uint8_t * logIds); /** * @brief Electrical Measurement Cluster GetProfileInfoResponseCommand Command callback (from server) */ diff --git a/zzz_generated/app-common/app-common/zap-generated/callbacks/PluginCallbacks.h b/zzz_generated/app-common/app-common/zap-generated/callbacks/PluginCallbacks.h index 9c66e59889ba56..4294dbd7ecb536 100644 --- a/zzz_generated/app-common/app-common/zap-generated/callbacks/PluginCallbacks.h +++ b/zzz_generated/app-common/app-common/zap-generated/callbacks/PluginCallbacks.h @@ -19,10 +19,6 @@ #pragma once -void __attribute__((weak)) MatterPowerConfigurationPluginClientInitCallback() {} -void MatterPowerConfigurationPluginServerInitCallback(); -void __attribute__((weak)) MatterDeviceTemperatureConfigurationPluginClientInitCallback() {} -void MatterDeviceTemperatureConfigurationPluginServerInitCallback(); void __attribute__((weak)) MatterIdentifyPluginClientInitCallback() {} void MatterIdentifyPluginServerInitCallback(); void __attribute__((weak)) MatterGroupsPluginClientInitCallback() {} @@ -35,16 +31,8 @@ void __attribute__((weak)) MatterOnOffSwitchConfigurationPluginClientInitCallbac void MatterOnOffSwitchConfigurationPluginServerInitCallback(); void __attribute__((weak)) MatterLevelControlPluginClientInitCallback() {} void MatterLevelControlPluginServerInitCallback(); -void __attribute__((weak)) MatterAlarmsPluginClientInitCallback() {} -void MatterAlarmsPluginServerInitCallback(); -void __attribute__((weak)) MatterTimePluginClientInitCallback() {} -void MatterTimePluginServerInitCallback(); void __attribute__((weak)) MatterBinaryInputBasicPluginClientInitCallback() {} void MatterBinaryInputBasicPluginServerInitCallback(); -void __attribute__((weak)) MatterPowerProfilePluginClientInitCallback() {} -void MatterPowerProfilePluginServerInitCallback(); -void __attribute__((weak)) MatterApplianceControlPluginClientInitCallback() {} -void MatterApplianceControlPluginServerInitCallback(); void __attribute__((weak)) MatterPulseWidthModulationPluginClientInitCallback() {} void MatterPulseWidthModulationPluginServerInitCallback(); void __attribute__((weak)) MatterDescriptorPluginClientInitCallback() {} @@ -53,8 +41,6 @@ void __attribute__((weak)) MatterBindingPluginClientInitCallback() {} void MatterBindingPluginServerInitCallback(); void __attribute__((weak)) MatterAccessControlPluginClientInitCallback() {} void MatterAccessControlPluginServerInitCallback(); -void __attribute__((weak)) MatterPollControlPluginClientInitCallback() {} -void MatterPollControlPluginServerInitCallback(); void __attribute__((weak)) MatterBridgedActionsPluginClientInitCallback() {} void MatterBridgedActionsPluginServerInitCallback(); void __attribute__((weak)) MatterBasicPluginClientInitCallback() {} @@ -115,8 +101,6 @@ void __attribute__((weak)) MatterBooleanStatePluginClientInitCallback() {} void MatterBooleanStatePluginServerInitCallback(); void __attribute__((weak)) MatterModeSelectPluginClientInitCallback() {} void MatterModeSelectPluginServerInitCallback(); -void __attribute__((weak)) MatterShadeConfigurationPluginClientInitCallback() {} -void MatterShadeConfigurationPluginServerInitCallback(); void __attribute__((weak)) MatterDoorLockPluginClientInitCallback() {} void MatterDoorLockPluginServerInitCallback(); void __attribute__((weak)) MatterWindowCoveringPluginClientInitCallback() {} @@ -129,8 +113,6 @@ void __attribute__((weak)) MatterThermostatPluginClientInitCallback() {} void MatterThermostatPluginServerInitCallback(); void __attribute__((weak)) MatterFanControlPluginClientInitCallback() {} void MatterFanControlPluginServerInitCallback(); -void __attribute__((weak)) MatterDehumidificationControlPluginClientInitCallback() {} -void MatterDehumidificationControlPluginServerInitCallback(); void __attribute__((weak)) MatterThermostatUserInterfaceConfigurationPluginClientInitCallback() {} void MatterThermostatUserInterfaceConfigurationPluginServerInitCallback(); void __attribute__((weak)) MatterColorControlPluginClientInitCallback() {} @@ -149,66 +131,6 @@ void __attribute__((weak)) MatterRelativeHumidityMeasurementPluginClientInitCall void MatterRelativeHumidityMeasurementPluginServerInitCallback(); void __attribute__((weak)) MatterOccupancySensingPluginClientInitCallback() {} void MatterOccupancySensingPluginServerInitCallback(); -void __attribute__((weak)) MatterCarbonMonoxideConcentrationMeasurementPluginClientInitCallback() {} -void MatterCarbonMonoxideConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterCarbonDioxideConcentrationMeasurementPluginClientInitCallback() {} -void MatterCarbonDioxideConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterEthyleneConcentrationMeasurementPluginClientInitCallback() {} -void MatterEthyleneConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterEthyleneOxideConcentrationMeasurementPluginClientInitCallback() {} -void MatterEthyleneOxideConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterHydrogenConcentrationMeasurementPluginClientInitCallback() {} -void MatterHydrogenConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterHydrogenSulphideConcentrationMeasurementPluginClientInitCallback() {} -void MatterHydrogenSulphideConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterNitricOxideConcentrationMeasurementPluginClientInitCallback() {} -void MatterNitricOxideConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterNitrogenDioxideConcentrationMeasurementPluginClientInitCallback() {} -void MatterNitrogenDioxideConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterOxygenConcentrationMeasurementPluginClientInitCallback() {} -void MatterOxygenConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterOzoneConcentrationMeasurementPluginClientInitCallback() {} -void MatterOzoneConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterSulfurDioxideConcentrationMeasurementPluginClientInitCallback() {} -void MatterSulfurDioxideConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterDissolvedOxygenConcentrationMeasurementPluginClientInitCallback() {} -void MatterDissolvedOxygenConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterBromateConcentrationMeasurementPluginClientInitCallback() {} -void MatterBromateConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterChloraminesConcentrationMeasurementPluginClientInitCallback() {} -void MatterChloraminesConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterChlorineConcentrationMeasurementPluginClientInitCallback() {} -void MatterChlorineConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterFecalColiformAndEColiConcentrationMeasurementPluginClientInitCallback() {} -void MatterFecalColiformAndEColiConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterFluorideConcentrationMeasurementPluginClientInitCallback() {} -void MatterFluorideConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterHaloaceticAcidsConcentrationMeasurementPluginClientInitCallback() {} -void MatterHaloaceticAcidsConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterTotalTrihalomethanesConcentrationMeasurementPluginClientInitCallback() {} -void MatterTotalTrihalomethanesConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterTotalColiformBacteriaConcentrationMeasurementPluginClientInitCallback() {} -void MatterTotalColiformBacteriaConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterTurbidityConcentrationMeasurementPluginClientInitCallback() {} -void MatterTurbidityConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterCopperConcentrationMeasurementPluginClientInitCallback() {} -void MatterCopperConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterLeadConcentrationMeasurementPluginClientInitCallback() {} -void MatterLeadConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterManganeseConcentrationMeasurementPluginClientInitCallback() {} -void MatterManganeseConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterSulfateConcentrationMeasurementPluginClientInitCallback() {} -void MatterSulfateConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterBromodichloromethaneConcentrationMeasurementPluginClientInitCallback() {} -void MatterBromodichloromethaneConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterBromoformConcentrationMeasurementPluginClientInitCallback() {} -void MatterBromoformConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterChlorodibromomethaneConcentrationMeasurementPluginClientInitCallback() {} -void MatterChlorodibromomethaneConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterChloroformConcentrationMeasurementPluginClientInitCallback() {} -void MatterChloroformConcentrationMeasurementPluginServerInitCallback(); -void __attribute__((weak)) MatterSodiumConcentrationMeasurementPluginClientInitCallback() {} -void MatterSodiumConcentrationMeasurementPluginServerInitCallback(); void __attribute__((weak)) MatterWakeOnLanPluginClientInitCallback() {} void MatterWakeOnLanPluginServerInitCallback(); void __attribute__((weak)) MatterChannelPluginClientInitCallback() {} @@ -233,14 +155,6 @@ void __attribute__((weak)) MatterApplicationBasicPluginClientInitCallback() {} void MatterApplicationBasicPluginServerInitCallback(); void __attribute__((weak)) MatterAccountLoginPluginClientInitCallback() {} void MatterAccountLoginPluginServerInitCallback(); -void __attribute__((weak)) MatterApplianceIdentificationPluginClientInitCallback() {} -void MatterApplianceIdentificationPluginServerInitCallback(); -void __attribute__((weak)) MatterMeterIdentificationPluginClientInitCallback() {} -void MatterMeterIdentificationPluginServerInitCallback(); -void __attribute__((weak)) MatterApplianceEventsAndAlertPluginClientInitCallback() {} -void MatterApplianceEventsAndAlertPluginServerInitCallback(); -void __attribute__((weak)) MatterApplianceStatisticsPluginClientInitCallback() {} -void MatterApplianceStatisticsPluginServerInitCallback(); void __attribute__((weak)) MatterElectricalMeasurementPluginClientInitCallback() {} void MatterElectricalMeasurementPluginServerInitCallback(); void __attribute__((weak)) MatterTestClusterPluginClientInitCallback() {} diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h index ebf0648f0fba01..50cd5912b1df50 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h @@ -27,12 +27,6 @@ namespace chip { namespace app { namespace Clusters { -namespace PowerConfiguration { -} // namespace PowerConfiguration - -namespace DeviceTemperatureConfiguration { -} // namespace DeviceTemperatureConfiguration - namespace Identify { // Need to convert consumers to using the new enum classes, so we @@ -208,74 +202,9 @@ enum class LevelControlFeature : uint32_t }; } // namespace LevelControl -namespace Alarms { -} // namespace Alarms - -namespace Time { -} // namespace Time - namespace BinaryInputBasic { } // namespace BinaryInputBasic -namespace PowerProfile { -} // namespace PowerProfile - -namespace ApplianceControl { - -// Enum for ApplianceStatus -enum class ApplianceStatus : uint8_t -{ - kOff = 0x01, - kStandBy = 0x02, - kProgrammed = 0x03, - kProgrammedWaitingToStart = 0x04, - kRunning = 0x05, - kPause = 0x06, - kEndProgrammed = 0x07, - kFailure = 0x08, - kProgrammeInterrupted = 0x09, - kIdle = 0x0A, - kRinseHold = 0x0B, - kService = 0x0C, - kSuperfreezing = 0x0D, - kSupercooling = 0x0E, - kSuperheating = 0x0F, -}; - -// Enum for CommandIdentification -enum class CommandIdentification : uint8_t -{ - kStart = 0x01, - kStop = 0x02, - kPause = 0x03, - kStartSuperfreezing = 0x04, - kStopSuperfreezing = 0x05, - kStartSupercooling = 0x06, - kStopSupercooling = 0x07, - kDisableGas = 0x08, - kEnableGas = 0x09, - kEnableEnergyControl = 0x0A, - kDisableEnergyControl = 0x0B, -}; - -// Enum for WarningEvent -enum class WarningEvent : uint8_t -{ - kWarning1OverallPowerAboveAvailablePowerLevel = 0x00, - kWarning2OverallPowerAbovePowerThresholdLevel = 0x01, - kWarning3OverallPowerBackBelowTheAvailablePowerLevel = 0x02, - kWarning4OverallPowerBackBelowThePowerThresholdLevel = 0x03, - kWarning5OverallPowerWillBePotentiallyAboveAvailablePowerLevelIfTheApplianceStarts = 0x04, -}; - -// Bitmap for RemoteEnableFlagsAndDeviceStatus2 -enum class RemoteEnableFlagsAndDeviceStatus2 : uint8_t -{ - kRemoteEnableFlags = 0xF, - kDeviceStatus2Structure = 0xF0, -}; -} // namespace ApplianceControl - namespace PulseWidthModulation { } // namespace PulseWidthModulation @@ -314,9 +243,6 @@ enum class Privilege : uint8_t }; } // namespace AccessControl -namespace PollControl { -} // namespace PollControl - namespace BridgedActions { // Enum for ActionErrorEnum @@ -982,9 +908,6 @@ enum class ModeSelectFeature : uint32_t }; } // namespace ModeSelect -namespace ShadeConfiguration { -} // namespace ShadeConfiguration - namespace DoorLock { // Enum for DlAlarmCode @@ -1666,9 +1589,6 @@ enum class WindSupportMask : uint8_t }; } // namespace FanControl -namespace DehumidificationControl { -} // namespace DehumidificationControl - namespace ThermostatUserInterfaceConfiguration { } // namespace ThermostatUserInterfaceConfiguration @@ -1848,96 +1768,6 @@ namespace RelativeHumidityMeasurement { namespace OccupancySensing { } // namespace OccupancySensing -namespace CarbonMonoxideConcentrationMeasurement { -} // namespace CarbonMonoxideConcentrationMeasurement - -namespace CarbonDioxideConcentrationMeasurement { -} // namespace CarbonDioxideConcentrationMeasurement - -namespace EthyleneConcentrationMeasurement { -} // namespace EthyleneConcentrationMeasurement - -namespace EthyleneOxideConcentrationMeasurement { -} // namespace EthyleneOxideConcentrationMeasurement - -namespace HydrogenConcentrationMeasurement { -} // namespace HydrogenConcentrationMeasurement - -namespace HydrogenSulphideConcentrationMeasurement { -} // namespace HydrogenSulphideConcentrationMeasurement - -namespace NitricOxideConcentrationMeasurement { -} // namespace NitricOxideConcentrationMeasurement - -namespace NitrogenDioxideConcentrationMeasurement { -} // namespace NitrogenDioxideConcentrationMeasurement - -namespace OxygenConcentrationMeasurement { -} // namespace OxygenConcentrationMeasurement - -namespace OzoneConcentrationMeasurement { -} // namespace OzoneConcentrationMeasurement - -namespace SulfurDioxideConcentrationMeasurement { -} // namespace SulfurDioxideConcentrationMeasurement - -namespace DissolvedOxygenConcentrationMeasurement { -} // namespace DissolvedOxygenConcentrationMeasurement - -namespace BromateConcentrationMeasurement { -} // namespace BromateConcentrationMeasurement - -namespace ChloraminesConcentrationMeasurement { -} // namespace ChloraminesConcentrationMeasurement - -namespace ChlorineConcentrationMeasurement { -} // namespace ChlorineConcentrationMeasurement - -namespace FecalColiformAndEColiConcentrationMeasurement { -} // namespace FecalColiformAndEColiConcentrationMeasurement - -namespace FluorideConcentrationMeasurement { -} // namespace FluorideConcentrationMeasurement - -namespace HaloaceticAcidsConcentrationMeasurement { -} // namespace HaloaceticAcidsConcentrationMeasurement - -namespace TotalTrihalomethanesConcentrationMeasurement { -} // namespace TotalTrihalomethanesConcentrationMeasurement - -namespace TotalColiformBacteriaConcentrationMeasurement { -} // namespace TotalColiformBacteriaConcentrationMeasurement - -namespace TurbidityConcentrationMeasurement { -} // namespace TurbidityConcentrationMeasurement - -namespace CopperConcentrationMeasurement { -} // namespace CopperConcentrationMeasurement - -namespace LeadConcentrationMeasurement { -} // namespace LeadConcentrationMeasurement - -namespace ManganeseConcentrationMeasurement { -} // namespace ManganeseConcentrationMeasurement - -namespace SulfateConcentrationMeasurement { -} // namespace SulfateConcentrationMeasurement - -namespace BromodichloromethaneConcentrationMeasurement { -} // namespace BromodichloromethaneConcentrationMeasurement - -namespace BromoformConcentrationMeasurement { -} // namespace BromoformConcentrationMeasurement - -namespace ChlorodibromomethaneConcentrationMeasurement { -} // namespace ChlorodibromomethaneConcentrationMeasurement - -namespace ChloroformConcentrationMeasurement { -} // namespace ChloroformConcentrationMeasurement - -namespace SodiumConcentrationMeasurement { -} // namespace SodiumConcentrationMeasurement - namespace WakeOnLan { } // namespace WakeOnLan @@ -2240,43 +2070,6 @@ enum class ApplicationStatusEnum : uint8_t namespace AccountLogin { } // namespace AccountLogin -namespace ApplianceIdentification { -} // namespace ApplianceIdentification - -namespace MeterIdentification { -} // namespace MeterIdentification - -namespace ApplianceEventsAndAlert { - -// Enum for EventIdentification -enum class EventIdentification : uint8_t -{ - kEndOfCycle = 0x01, - kTemperatureReached = 0x04, - kEndOfCooking = 0x05, - kSwitchingOff = 0x06, - kWrongData = 0x07, -}; - -// Bitmap for AlertCount -enum class AlertCount : uint8_t -{ - kNumberOfAlerts = 0xF, - kTypeOfAlert = 0xF0, -}; - -// Bitmap for AlertStructure -enum class AlertStructure : uint32_t -{ - kAlertId = 0xFF, - kCategory = 0xF00, - kPresenceRecovery = 0x3000, -}; -} // namespace ApplianceEventsAndAlert - -namespace ApplianceStatistics { -} // namespace ApplianceStatistics - namespace ElectricalMeasurement { } // namespace ElectricalMeasurement diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-id.h b/zzz_generated/app-common/app-common/zap-generated/cluster-id.h index c250f9ec837d22..bf87b9e3cc2308 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-id.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-id.h @@ -22,12 +22,6 @@ #include -// Definitions for cluster: Power Configuration -static constexpr chip::ClusterId ZCL_POWER_CONFIG_CLUSTER_ID = 0x0001; - -// Definitions for cluster: Device Temperature Configuration -static constexpr chip::ClusterId ZCL_DEVICE_TEMP_CLUSTER_ID = 0x0002; - // Definitions for cluster: Identify static constexpr chip::ClusterId ZCL_IDENTIFY_CLUSTER_ID = 0x0003; @@ -46,21 +40,9 @@ static constexpr chip::ClusterId ZCL_ON_OFF_SWITCH_CONFIG_CLUSTER_ID = 0x0007; // Definitions for cluster: Level Control static constexpr chip::ClusterId ZCL_LEVEL_CONTROL_CLUSTER_ID = 0x0008; -// Definitions for cluster: Alarms -static constexpr chip::ClusterId ZCL_ALARM_CLUSTER_ID = 0x0009; - -// Definitions for cluster: Time -static constexpr chip::ClusterId ZCL_TIME_CLUSTER_ID = 0x000A; - // Definitions for cluster: Binary Input (Basic) static constexpr chip::ClusterId ZCL_BINARY_INPUT_BASIC_CLUSTER_ID = 0x000F; -// Definitions for cluster: Power Profile -static constexpr chip::ClusterId ZCL_POWER_PROFILE_CLUSTER_ID = 0x001A; - -// Definitions for cluster: Appliance Control -static constexpr chip::ClusterId ZCL_APPLIANCE_CONTROL_CLUSTER_ID = 0x001B; - // Definitions for cluster: Pulse Width Modulation static constexpr chip::ClusterId ZCL_PWM_CLUSTER_ID = 0x001C; @@ -73,9 +55,6 @@ static constexpr chip::ClusterId ZCL_BINDING_CLUSTER_ID = 0x001E; // Definitions for cluster: Access Control static constexpr chip::ClusterId ZCL_ACCESS_CONTROL_CLUSTER_ID = 0x001F; -// Definitions for cluster: Poll Control -static constexpr chip::ClusterId ZCL_POLL_CONTROL_CLUSTER_ID = 0x0020; - // Definitions for cluster: Bridged Actions static constexpr chip::ClusterId ZCL_BRIDGED_ACTIONS_CLUSTER_ID = 0x0025; @@ -166,9 +145,6 @@ static constexpr chip::ClusterId ZCL_BOOLEAN_STATE_CLUSTER_ID = 0x0045; // Definitions for cluster: Mode Select static constexpr chip::ClusterId ZCL_MODE_SELECT_CLUSTER_ID = 0x0050; -// Definitions for cluster: Shade Configuration -static constexpr chip::ClusterId ZCL_SHADE_CONFIG_CLUSTER_ID = 0x0100; - // Definitions for cluster: Door Lock static constexpr chip::ClusterId ZCL_DOOR_LOCK_CLUSTER_ID = 0x0101; @@ -187,9 +163,6 @@ static constexpr chip::ClusterId ZCL_THERMOSTAT_CLUSTER_ID = 0x0201; // Definitions for cluster: Fan Control static constexpr chip::ClusterId ZCL_FAN_CONTROL_CLUSTER_ID = 0x0202; -// Definitions for cluster: Dehumidification Control -static constexpr chip::ClusterId ZCL_DEHUMID_CONTROL_CLUSTER_ID = 0x0203; - // Definitions for cluster: Thermostat User Interface Configuration static constexpr chip::ClusterId ZCL_THERMOSTAT_UI_CONFIG_CLUSTER_ID = 0x0204; @@ -217,96 +190,6 @@ static constexpr chip::ClusterId ZCL_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_ID = // Definitions for cluster: Occupancy Sensing static constexpr chip::ClusterId ZCL_OCCUPANCY_SENSING_CLUSTER_ID = 0x0406; -// Definitions for cluster: Carbon Monoxide Concentration Measurement -static constexpr chip::ClusterId ZCL_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x040C; - -// Definitions for cluster: Carbon Dioxide Concentration Measurement -static constexpr chip::ClusterId ZCL_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x040D; - -// Definitions for cluster: Ethylene Concentration Measurement -static constexpr chip::ClusterId ZCL_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x040E; - -// Definitions for cluster: Ethylene Oxide Concentration Measurement -static constexpr chip::ClusterId ZCL_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x040F; - -// Definitions for cluster: Hydrogen Concentration Measurement -static constexpr chip::ClusterId ZCL_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0410; - -// Definitions for cluster: Hydrogen Sulphide Concentration Measurement -static constexpr chip::ClusterId ZCL_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0411; - -// Definitions for cluster: Nitric Oxide Concentration Measurement -static constexpr chip::ClusterId ZCL_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0412; - -// Definitions for cluster: Nitrogen Dioxide Concentration Measurement -static constexpr chip::ClusterId ZCL_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0413; - -// Definitions for cluster: Oxygen Concentration Measurement -static constexpr chip::ClusterId ZCL_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0414; - -// Definitions for cluster: Ozone Concentration Measurement -static constexpr chip::ClusterId ZCL_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0415; - -// Definitions for cluster: Sulfur Dioxide Concentration Measurement -static constexpr chip::ClusterId ZCL_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0416; - -// Definitions for cluster: Dissolved Oxygen Concentration Measurement -static constexpr chip::ClusterId ZCL_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0417; - -// Definitions for cluster: Bromate Concentration Measurement -static constexpr chip::ClusterId ZCL_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0418; - -// Definitions for cluster: Chloramines Concentration Measurement -static constexpr chip::ClusterId ZCL_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0419; - -// Definitions for cluster: Chlorine Concentration Measurement -static constexpr chip::ClusterId ZCL_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x041A; - -// Definitions for cluster: Fecal coliform and E. Coli Concentration Measurement -static constexpr chip::ClusterId ZCL_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x041B; - -// Definitions for cluster: Fluoride Concentration Measurement -static constexpr chip::ClusterId ZCL_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x041C; - -// Definitions for cluster: Haloacetic Acids Concentration Measurement -static constexpr chip::ClusterId ZCL_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x041D; - -// Definitions for cluster: Total Trihalomethanes Concentration Measurement -static constexpr chip::ClusterId ZCL_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x041E; - -// Definitions for cluster: Total Coliform Bacteria Concentration Measurement -static constexpr chip::ClusterId ZCL_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x041F; - -// Definitions for cluster: Turbidity Concentration Measurement -static constexpr chip::ClusterId ZCL_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0420; - -// Definitions for cluster: Copper Concentration Measurement -static constexpr chip::ClusterId ZCL_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0421; - -// Definitions for cluster: Lead Concentration Measurement -static constexpr chip::ClusterId ZCL_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0422; - -// Definitions for cluster: Manganese Concentration Measurement -static constexpr chip::ClusterId ZCL_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0423; - -// Definitions for cluster: Sulfate Concentration Measurement -static constexpr chip::ClusterId ZCL_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0424; - -// Definitions for cluster: Bromodichloromethane Concentration Measurement -static constexpr chip::ClusterId ZCL_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0425; - -// Definitions for cluster: Bromoform Concentration Measurement -static constexpr chip::ClusterId ZCL_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0426; - -// Definitions for cluster: Chlorodibromomethane Concentration Measurement -static constexpr chip::ClusterId ZCL_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0427; - -// Definitions for cluster: Chloroform Concentration Measurement -static constexpr chip::ClusterId ZCL_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0428; - -// Definitions for cluster: Sodium Concentration Measurement -static constexpr chip::ClusterId ZCL_SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0429; - // Definitions for cluster: Wake on LAN static constexpr chip::ClusterId ZCL_WAKE_ON_LAN_CLUSTER_ID = 0x0503; @@ -343,18 +226,6 @@ static constexpr chip::ClusterId ZCL_APPLICATION_BASIC_CLUSTER_ID = 0x050D; // Definitions for cluster: Account Login static constexpr chip::ClusterId ZCL_ACCOUNT_LOGIN_CLUSTER_ID = 0x050E; -// Definitions for cluster: Appliance Identification -static constexpr chip::ClusterId ZCL_APPLIANCE_IDENTIFICATION_CLUSTER_ID = 0x0B00; - -// Definitions for cluster: Meter Identification -static constexpr chip::ClusterId ZCL_METER_IDENTIFICATION_CLUSTER_ID = 0x0B01; - -// Definitions for cluster: Appliance Events and Alert -static constexpr chip::ClusterId ZCL_APPLIANCE_EVENTS_AND_ALERT_CLUSTER_ID = 0x0B02; - -// Definitions for cluster: Appliance Statistics -static constexpr chip::ClusterId ZCL_APPLIANCE_STATISTICS_CLUSTER_ID = 0x0B03; - // Definitions for cluster: Electrical Measurement static constexpr chip::ClusterId ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID = 0x0B04; diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp index 1f0c91ef8c3056..e99aec2beec10f 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp @@ -73,278 +73,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } // namespace Structs } // namespace detail -namespace PowerConfiguration { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MainsVoltage::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, mainsVoltage)); - break; - case Attributes::MainsFrequency::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, mainsFrequency)); - break; - case Attributes::MainsAlarmMask::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, mainsAlarmMask)); - break; - case Attributes::MainsVoltageMinThreshold::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, mainsVoltageMinThreshold)); - break; - case Attributes::MainsVoltageMaxThreshold::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, mainsVoltageMaxThreshold)); - break; - case Attributes::MainsVoltageDwellTrip::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, mainsVoltageDwellTrip)); - break; - case Attributes::BatteryVoltage::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batteryVoltage)); - break; - case Attributes::BatteryPercentageRemaining::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batteryPercentageRemaining)); - break; - case Attributes::BatteryManufacturer::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batteryManufacturer)); - break; - case Attributes::BatterySize::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batterySize)); - break; - case Attributes::BatteryAhrRating::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batteryAhrRating)); - break; - case Attributes::BatteryQuantity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batteryQuantity)); - break; - case Attributes::BatteryRatedVoltage::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batteryRatedVoltage)); - break; - case Attributes::BatteryAlarmMask::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batteryAlarmMask)); - break; - case Attributes::BatteryVoltageMinThreshold::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batteryVoltageMinThreshold)); - break; - case Attributes::BatteryVoltageThreshold1::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batteryVoltageThreshold1)); - break; - case Attributes::BatteryVoltageThreshold2::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batteryVoltageThreshold2)); - break; - case Attributes::BatteryVoltageThreshold3::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batteryVoltageThreshold3)); - break; - case Attributes::BatteryPercentageMinThreshold::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batteryPercentageMinThreshold)); - break; - case Attributes::BatteryPercentageThreshold1::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batteryPercentageThreshold1)); - break; - case Attributes::BatteryPercentageThreshold2::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batteryPercentageThreshold2)); - break; - case Attributes::BatteryPercentageThreshold3::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batteryPercentageThreshold3)); - break; - case Attributes::BatteryAlarmState::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batteryAlarmState)); - break; - case Attributes::Battery2Voltage::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery2Voltage)); - break; - case Attributes::Battery2PercentageRemaining::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery2PercentageRemaining)); - break; - case Attributes::Battery2Manufacturer::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery2Manufacturer)); - break; - case Attributes::Battery2Size::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery2Size)); - break; - case Attributes::Battery2AhrRating::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery2AhrRating)); - break; - case Attributes::Battery2Quantity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery2Quantity)); - break; - case Attributes::Battery2RatedVoltage::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery2RatedVoltage)); - break; - case Attributes::Battery2AlarmMask::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery2AlarmMask)); - break; - case Attributes::Battery2VoltageMinThreshold::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery2VoltageMinThreshold)); - break; - case Attributes::Battery2VoltageThreshold1::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery2VoltageThreshold1)); - break; - case Attributes::Battery2VoltageThreshold2::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery2VoltageThreshold2)); - break; - case Attributes::Battery2VoltageThreshold3::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery2VoltageThreshold3)); - break; - case Attributes::Battery2PercentageMinThreshold::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery2PercentageMinThreshold)); - break; - case Attributes::Battery2PercentageThreshold1::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery2PercentageThreshold1)); - break; - case Attributes::Battery2PercentageThreshold2::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery2PercentageThreshold2)); - break; - case Attributes::Battery2PercentageThreshold3::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery2PercentageThreshold3)); - break; - case Attributes::Battery2AlarmState::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery2AlarmState)); - break; - case Attributes::Battery3Voltage::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery3Voltage)); - break; - case Attributes::Battery3PercentageRemaining::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery3PercentageRemaining)); - break; - case Attributes::Battery3Manufacturer::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery3Manufacturer)); - break; - case Attributes::Battery3Size::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery3Size)); - break; - case Attributes::Battery3AhrRating::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery3AhrRating)); - break; - case Attributes::Battery3Quantity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery3Quantity)); - break; - case Attributes::Battery3RatedVoltage::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery3RatedVoltage)); - break; - case Attributes::Battery3AlarmMask::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery3AlarmMask)); - break; - case Attributes::Battery3VoltageMinThreshold::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery3VoltageMinThreshold)); - break; - case Attributes::Battery3VoltageThreshold1::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery3VoltageThreshold1)); - break; - case Attributes::Battery3VoltageThreshold2::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery3VoltageThreshold2)); - break; - case Attributes::Battery3VoltageThreshold3::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery3VoltageThreshold3)); - break; - case Attributes::Battery3PercentageMinThreshold::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery3PercentageMinThreshold)); - break; - case Attributes::Battery3PercentageThreshold1::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery3PercentageThreshold1)); - break; - case Attributes::Battery3PercentageThreshold2::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery3PercentageThreshold2)); - break; - case Attributes::Battery3PercentageThreshold3::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery3PercentageThreshold3)); - break; - case Attributes::Battery3AlarmState::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, battery3AlarmState)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace PowerConfiguration -namespace DeviceTemperatureConfiguration { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::CurrentTemperature::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentTemperature)); - break; - case Attributes::MinTempExperienced::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minTempExperienced)); - break; - case Attributes::MaxTempExperienced::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxTempExperienced)); - break; - case Attributes::OverTempTotalDwell::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, overTempTotalDwell)); - break; - case Attributes::DeviceTempAlarmMask::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, deviceTempAlarmMask)); - break; - case Attributes::LowTempThreshold::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lowTempThreshold)); - break; - case Attributes::HighTempThreshold::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, highTempThreshold)); - break; - case Attributes::LowTempDwellTripPoint::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lowTempDwellTripPoint)); - break; - case Attributes::HighTempDwellTripPoint::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, highTempDwellTripPoint)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace DeviceTemperatureConfiguration namespace Identify { namespace Commands { @@ -2702,16 +2430,116 @@ namespace Events { } // namespace Events } // namespace LevelControl -namespace Alarms { +namespace BinaryInputBasic { + +namespace Commands { +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::ActiveText::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, activeText)); + break; + case Attributes::Description::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, description)); + break; + case Attributes::InactiveText::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, inactiveText)); + break; + case Attributes::OutOfService::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, outOfService)); + break; + case Attributes::Polarity::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, polarity)); + break; + case Attributes::PresentValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, presentValue)); + break; + case Attributes::Reliability::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, reliability)); + break; + case Attributes::StatusFlags::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, statusFlags)); + break; + case Attributes::ApplicationType::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, applicationType)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; + } + + return CHIP_NO_ERROR; +} +} // namespace Attributes + +namespace Events { +} // namespace Events + +} // namespace BinaryInputBasic +namespace PulseWidthModulation { namespace Commands { -namespace ResetAlarm { +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; + } + + return CHIP_NO_ERROR; +} +} // namespace Attributes + +namespace Events { +} // namespace Events + +} // namespace PulseWidthModulation +namespace Descriptor { +namespace Structs { +namespace DeviceType { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAlarmCode)), alarmCode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kClusterId)), clusterId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kType)), type)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRevision)), revision)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -2721,7 +2549,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -2730,11 +2559,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kAlarmCode): - ReturnErrorOnFailure(DataModel::Decode(reader, alarmCode)); + case to_underlying(Fields::kType): + ReturnErrorOnFailure(DataModel::Decode(reader, type)); break; - case to_underlying(Fields::kClusterId): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterId)); + case to_underlying(Fields::kRevision): + ReturnErrorOnFailure(DataModel::Decode(reader, revision)); break; default: break; @@ -2743,16 +2572,85 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace ResetAlarm. -namespace Alarm { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ + +} // namespace DeviceType +} // namespace Structs + +namespace Commands { +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::DeviceList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, deviceList)); + break; + case Attributes::ServerList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, serverList)); + break; + case Attributes::ClientList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clientList)); + break; + case Attributes::PartsList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, partsList)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; + } + + return CHIP_NO_ERROR; +} +} // namespace Attributes + +namespace Events { +} // namespace Events + +} // namespace Descriptor +namespace Binding { +namespace Structs { +namespace TargetStruct { +CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + return DoEncode(writer, tag, NullOptional); +} + +CHIP_ERROR Type::EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const +{ + return DoEncode(writer, tag, MakeOptional(accessingFabricIndex)); +} + +CHIP_ERROR Type::DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const +{ TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAlarmCode)), alarmCode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kClusterId)), clusterId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNode)), node)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroup)), group)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndpoint)), endpoint)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCluster)), cluster)); + if (accessingFabricIndex.HasValue()) + { + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); + } ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -2762,7 +2660,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -2771,11 +2670,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kAlarmCode): - ReturnErrorOnFailure(DataModel::Decode(reader, alarmCode)); + case to_underlying(Fields::kNode): + ReturnErrorOnFailure(DataModel::Decode(reader, node)); break; - case to_underlying(Fields::kClusterId): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterId)); + case to_underlying(Fields::kGroup): + ReturnErrorOnFailure(DataModel::Decode(reader, group)); + break; + case to_underlying(Fields::kEndpoint): + ReturnErrorOnFailure(DataModel::Decode(reader, endpoint)); + break; + case to_underlying(Fields::kCluster): + ReturnErrorOnFailure(DataModel::Decode(reader, cluster)); + break; + case to_underlying(Fields::kFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); break; default: break; @@ -2784,14 +2692,61 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + + return CHIP_NO_ERROR; +} + +} // namespace TargetStruct +} // namespace Structs + +namespace Commands { +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::Binding::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, binding)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; + } + return CHIP_NO_ERROR; } -} // namespace Alarm. -namespace ResetAllAlarms { +} // namespace Attributes + +namespace Events { +} // namespace Events + +} // namespace Binding +namespace AccessControl { +namespace Structs { +namespace Target { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCluster)), cluster)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndpoint)), endpoint)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDeviceType)), deviceType)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -2801,7 +2756,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -2810,6 +2766,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kCluster): + ReturnErrorOnFailure(DataModel::Decode(reader, cluster)); + break; + case to_underlying(Fields::kEndpoint): + ReturnErrorOnFailure(DataModel::Decode(reader, endpoint)); + break; + case to_underlying(Fields::kDeviceType): + ReturnErrorOnFailure(DataModel::Decode(reader, deviceType)); + break; default: break; } @@ -2817,18 +2782,47 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace ResetAllAlarms. -namespace GetAlarmResponse { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const + +} // namespace Target +namespace AccessControlEntry { +CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + return DoEncode(writer, tag, NullOptional); +} + +CHIP_ERROR Type::EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const { + return DoEncode(writer, tag, MakeOptional(accessingFabricIndex)); +} + +CHIP_ERROR Type::DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const +{ + bool includeSensitive = !accessingFabricIndex.HasValue() || (accessingFabricIndex.Value() == fabricIndex); TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAlarmCode)), alarmCode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kClusterId)), clusterId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTimeStamp)), timeStamp)); + if (includeSensitive) + { + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPrivilege)), privilege)); + } + if (includeSensitive) + { + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAuthMode)), authMode)); + } + if (includeSensitive) + { + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSubjects)), subjects)); + } + if (includeSensitive) + { + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTargets)), targets)); + } + if (accessingFabricIndex.HasValue()) + { + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); + } ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -2838,7 +2832,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -2847,17 +2842,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); + case to_underlying(Fields::kPrivilege): + ReturnErrorOnFailure(DataModel::Decode(reader, privilege)); break; - case to_underlying(Fields::kAlarmCode): - ReturnErrorOnFailure(DataModel::Decode(reader, alarmCode)); + case to_underlying(Fields::kAuthMode): + ReturnErrorOnFailure(DataModel::Decode(reader, authMode)); break; - case to_underlying(Fields::kClusterId): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterId)); + case to_underlying(Fields::kSubjects): + ReturnErrorOnFailure(DataModel::Decode(reader, subjects)); break; - case to_underlying(Fields::kTimeStamp): - ReturnErrorOnFailure(DataModel::Decode(reader, timeStamp)); + case to_underlying(Fields::kTargets): + ReturnErrorOnFailure(DataModel::Decode(reader, targets)); + break; + case to_underlying(Fields::kFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); break; default: break; @@ -2866,14 +2864,35 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace GetAlarmResponse. -namespace GetAlarm { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const + +} // namespace AccessControlEntry +namespace ExtensionEntry { +CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + return DoEncode(writer, tag, NullOptional); +} + +CHIP_ERROR Type::EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const +{ + return DoEncode(writer, tag, MakeOptional(accessingFabricIndex)); +} + +CHIP_ERROR Type::DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const { + bool includeSensitive = !accessingFabricIndex.HasValue() || (accessingFabricIndex.Value() == fabricIndex); TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + if (includeSensitive) + { + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kData)), data)); + } + if (accessingFabricIndex.HasValue()) + { + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); + } ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -2883,7 +2902,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -2892,6 +2912,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kData): + ReturnErrorOnFailure(DataModel::Decode(reader, data)); + break; + case to_underlying(Fields::kFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); + break; default: break; } @@ -2899,147 +2925,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace GetAlarm. -namespace ResetAlarmLog { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace ResetAlarmLog. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::AlarmCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, alarmCount)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace Alarms -namespace Time { -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::Time::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, time)); - break; - case Attributes::TimeStatus::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, timeStatus)); - break; - case Attributes::TimeZone::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, timeZone)); - break; - case Attributes::DstStart::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, dstStart)); - break; - case Attributes::DstEnd::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, dstEnd)); - break; - case Attributes::DstShift::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, dstShift)); - break; - case Attributes::StandardTime::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, standardTime)); - break; - case Attributes::LocalTime::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, localTime)); - break; - case Attributes::LastSetTime::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lastSetTime)); - break; - case Attributes::ValidUntilTime::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, validUntilTime)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace Time -namespace BinaryInputBasic { +} // namespace ExtensionEntry +} // namespace Structs namespace Commands { } // namespace Commands @@ -3049,32 +2940,20 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::ActiveText::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, activeText)); - break; - case Attributes::Description::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, description)); - break; - case Attributes::InactiveText::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, inactiveText)); - break; - case Attributes::OutOfService::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, outOfService)); - break; - case Attributes::Polarity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, polarity)); + case Attributes::Acl::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acl)); break; - case Attributes::PresentValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, presentValue)); + case Attributes::Extension::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, extension)); break; - case Attributes::Reliability::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, reliability)); + case Attributes::SubjectsPerAccessControlEntry::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, subjectsPerAccessControlEntry)); break; - case Attributes::StatusFlags::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, statusFlags)); + case Attributes::TargetsPerAccessControlEntry::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, targetsPerAccessControlEntry)); break; - case Attributes::ApplicationType::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, applicationType)); + case Attributes::AccessControlEntriesPerFabric::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, accessControlEntriesPerFabric)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -3100,21 +2979,17 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre } // namespace Attributes namespace Events { -} // namespace Events - -} // namespace BinaryInputBasic -namespace PowerProfile { -namespace Structs { -namespace PowerProfileRecord { +namespace AccessControlEntryChanged { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileId)), powerProfileId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEnergyPhaseId)), energyPhaseId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAdminNodeID)), adminNodeID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAdminPasscodeID)), adminPasscodeID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kChangeType)), changeType)); ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileRemoteControl)), powerProfileRemoteControl)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileState)), powerProfileState)); + DataModel::EncodeForRead(writer, TLV::ContextTag(to_underlying(Fields::kLatestValue)), GetFabricIndex(), latestValue)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAdminFabricIndex)), adminFabricIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3124,8 +2999,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -3134,17 +3008,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPowerProfileId): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileId)); + case to_underlying(Fields::kAdminNodeID): + ReturnErrorOnFailure(DataModel::Decode(reader, adminNodeID)); + break; + case to_underlying(Fields::kAdminPasscodeID): + ReturnErrorOnFailure(DataModel::Decode(reader, adminPasscodeID)); break; - case to_underlying(Fields::kEnergyPhaseId): - ReturnErrorOnFailure(DataModel::Decode(reader, energyPhaseId)); + case to_underlying(Fields::kChangeType): + ReturnErrorOnFailure(DataModel::Decode(reader, changeType)); break; - case to_underlying(Fields::kPowerProfileRemoteControl): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileRemoteControl)); + case to_underlying(Fields::kLatestValue): + ReturnErrorOnFailure(DataModel::Decode(reader, latestValue)); break; - case to_underlying(Fields::kPowerProfileState): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileState)); + case to_underlying(Fields::kAdminFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, adminFabricIndex)); break; default: break; @@ -3153,18 +3030,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace PowerProfileRecord -namespace ScheduledPhase { +} // namespace AccessControlEntryChanged. +namespace AccessControlExtensionChanged { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEnergyPhaseId)), energyPhaseId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kScheduledTime)), scheduledTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAdminNodeID)), adminNodeID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAdminPasscodeID)), adminPasscodeID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kChangeType)), changeType)); + ReturnErrorOnFailure( + DataModel::EncodeForRead(writer, TLV::ContextTag(to_underlying(Fields::kLatestValue)), GetFabricIndex(), latestValue)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAdminFabricIndex)), adminFabricIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3174,8 +3053,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -3184,11 +3062,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kEnergyPhaseId): - ReturnErrorOnFailure(DataModel::Decode(reader, energyPhaseId)); + case to_underlying(Fields::kAdminNodeID): + ReturnErrorOnFailure(DataModel::Decode(reader, adminNodeID)); + break; + case to_underlying(Fields::kAdminPasscodeID): + ReturnErrorOnFailure(DataModel::Decode(reader, adminPasscodeID)); + break; + case to_underlying(Fields::kChangeType): + ReturnErrorOnFailure(DataModel::Decode(reader, changeType)); break; - case to_underlying(Fields::kScheduledTime): - ReturnErrorOnFailure(DataModel::Decode(reader, scheduledTime)); + case to_underlying(Fields::kLatestValue): + ReturnErrorOnFailure(DataModel::Decode(reader, latestValue)); + break; + case to_underlying(Fields::kAdminFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, adminFabricIndex)); break; default: break; @@ -3197,23 +3084,25 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } +} // namespace AccessControlExtensionChanged. +} // namespace Events -} // namespace ScheduledPhase -namespace TransferredPhase { +} // namespace AccessControl +namespace BridgedActions { +namespace Structs { +namespace ActionStruct { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEnergyPhaseId)), energyPhaseId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMacroPhaseId)), macroPhaseId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kExpectedDuration)), expectedDuration)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPeakPower)), peakPower)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEnergy)), energy)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMaxActivationDelay)), maxActivationDelay)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kType)), type)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndpointListID)), endpointListID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSupportedCommands)), supportedCommands)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3233,23 +3122,23 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kEnergyPhaseId): - ReturnErrorOnFailure(DataModel::Decode(reader, energyPhaseId)); + case to_underlying(Fields::kActionID): + ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); break; - case to_underlying(Fields::kMacroPhaseId): - ReturnErrorOnFailure(DataModel::Decode(reader, macroPhaseId)); + case to_underlying(Fields::kName): + ReturnErrorOnFailure(DataModel::Decode(reader, name)); break; - case to_underlying(Fields::kExpectedDuration): - ReturnErrorOnFailure(DataModel::Decode(reader, expectedDuration)); + case to_underlying(Fields::kType): + ReturnErrorOnFailure(DataModel::Decode(reader, type)); break; - case to_underlying(Fields::kPeakPower): - ReturnErrorOnFailure(DataModel::Decode(reader, peakPower)); + case to_underlying(Fields::kEndpointListID): + ReturnErrorOnFailure(DataModel::Decode(reader, endpointListID)); break; - case to_underlying(Fields::kEnergy): - ReturnErrorOnFailure(DataModel::Decode(reader, energy)); + case to_underlying(Fields::kSupportedCommands): + ReturnErrorOnFailure(DataModel::Decode(reader, supportedCommands)); break; - case to_underlying(Fields::kMaxActivationDelay): - ReturnErrorOnFailure(DataModel::Decode(reader, maxActivationDelay)); + case to_underlying(Fields::kStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, status)); break; default: break; @@ -3262,16 +3151,16 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) return CHIP_NO_ERROR; } -} // namespace TransferredPhase -} // namespace Structs - -namespace Commands { -namespace PowerProfileRequest { +} // namespace ActionStruct +namespace EndpointListStruct { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileId)), powerProfileId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndpointListID)), endpointListID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kType)), type)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndpoints)), endpoints)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3281,7 +3170,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -3290,8 +3180,17 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPowerProfileId): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileId)); + case to_underlying(Fields::kEndpointListID): + ReturnErrorOnFailure(DataModel::Decode(reader, endpointListID)); + break; + case to_underlying(Fields::kName): + ReturnErrorOnFailure(DataModel::Decode(reader, name)); + break; + case to_underlying(Fields::kType): + ReturnErrorOnFailure(DataModel::Decode(reader, type)); + break; + case to_underlying(Fields::kEndpoints): + ReturnErrorOnFailure(DataModel::Decode(reader, endpoints)); break; default: break; @@ -3300,19 +3199,21 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace PowerProfileRequest. -namespace PowerProfileNotification { + +} // namespace EndpointListStruct +} // namespace Structs + +namespace Commands { +namespace InstantAction { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTotalProfileNum)), totalProfileNum)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileId)), powerProfileId)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNumOfTransferredPhases)), numOfTransferredPhases)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransferredPhases)), transferredPhases)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3331,17 +3232,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kTotalProfileNum): - ReturnErrorOnFailure(DataModel::Decode(reader, totalProfileNum)); + case to_underlying(Fields::kActionID): + ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); break; - case to_underlying(Fields::kPowerProfileId): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileId)); - break; - case to_underlying(Fields::kNumOfTransferredPhases): - ReturnErrorOnFailure(DataModel::Decode(reader, numOfTransferredPhases)); - break; - case to_underlying(Fields::kTransferredPhases): - ReturnErrorOnFailure(DataModel::Decode(reader, transferredPhases)); + case to_underlying(Fields::kInvokeID): + ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); break; default: break; @@ -3352,12 +3247,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace PowerProfileNotification. -namespace PowerProfileStateRequest { +} // namespace InstantAction. +namespace InstantActionWithTransition { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3376,6 +3274,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kActionID): + ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); + break; + case to_underlying(Fields::kInvokeID): + ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + break; + case to_underlying(Fields::kTransitionTime): + ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); + break; default: break; } @@ -3385,17 +3292,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace PowerProfileStateRequest. -namespace PowerProfileResponse { +} // namespace InstantActionWithTransition. +namespace StartAction { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTotalProfileNum)), totalProfileNum)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileId)), powerProfileId)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNumOfTransferredPhases)), numOfTransferredPhases)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransferredPhases)), transferredPhases)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3414,17 +3318,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kTotalProfileNum): - ReturnErrorOnFailure(DataModel::Decode(reader, totalProfileNum)); - break; - case to_underlying(Fields::kPowerProfileId): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileId)); - break; - case to_underlying(Fields::kNumOfTransferredPhases): - ReturnErrorOnFailure(DataModel::Decode(reader, numOfTransferredPhases)); + case to_underlying(Fields::kActionID): + ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); break; - case to_underlying(Fields::kTransferredPhases): - ReturnErrorOnFailure(DataModel::Decode(reader, transferredPhases)); + case to_underlying(Fields::kInvokeID): + ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); break; default: break; @@ -3435,17 +3333,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace PowerProfileResponse. -namespace GetPowerProfilePriceResponse { +} // namespace StartAction. +namespace StartActionWithDuration { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileId)), powerProfileId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCurrency)), currency)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPrice)), price)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPriceTrailingDigit)), priceTrailingDigit)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDuration)), duration)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3464,17 +3360,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPowerProfileId): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileId)); - break; - case to_underlying(Fields::kCurrency): - ReturnErrorOnFailure(DataModel::Decode(reader, currency)); + case to_underlying(Fields::kActionID): + ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); break; - case to_underlying(Fields::kPrice): - ReturnErrorOnFailure(DataModel::Decode(reader, price)); + case to_underlying(Fields::kInvokeID): + ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); break; - case to_underlying(Fields::kPriceTrailingDigit): - ReturnErrorOnFailure(DataModel::Decode(reader, priceTrailingDigit)); + case to_underlying(Fields::kDuration): + ReturnErrorOnFailure(DataModel::Decode(reader, duration)); break; default: break; @@ -3485,15 +3378,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace GetPowerProfilePriceResponse. -namespace PowerProfileStateResponse { +} // namespace StartActionWithDuration. +namespace StopAction { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileCount)), powerProfileCount)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileRecords)), powerProfileRecords)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3512,11 +3404,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPowerProfileCount): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileCount)); + case to_underlying(Fields::kActionID): + ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); break; - case to_underlying(Fields::kPowerProfileRecords): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileRecords)); + case to_underlying(Fields::kInvokeID): + ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); break; default: break; @@ -3527,16 +3419,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace PowerProfileStateResponse. -namespace GetOverallSchedulePriceResponse { +} // namespace StopAction. +namespace PauseAction { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCurrency)), currency)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPrice)), price)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPriceTrailingDigit)), priceTrailingDigit)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3555,14 +3445,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCurrency): - ReturnErrorOnFailure(DataModel::Decode(reader, currency)); - break; - case to_underlying(Fields::kPrice): - ReturnErrorOnFailure(DataModel::Decode(reader, price)); + case to_underlying(Fields::kActionID): + ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); break; - case to_underlying(Fields::kPriceTrailingDigit): - ReturnErrorOnFailure(DataModel::Decode(reader, priceTrailingDigit)); + case to_underlying(Fields::kInvokeID): + ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); break; default: break; @@ -3573,13 +3460,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace GetOverallSchedulePriceResponse. -namespace GetPowerProfilePrice { +} // namespace PauseAction. +namespace PauseActionWithDuration { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileId)), powerProfileId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDuration)), duration)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3598,8 +3487,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPowerProfileId): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileId)); + case to_underlying(Fields::kActionID): + ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); + break; + case to_underlying(Fields::kInvokeID): + ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + break; + case to_underlying(Fields::kDuration): + ReturnErrorOnFailure(DataModel::Decode(reader, duration)); break; default: break; @@ -3610,16 +3505,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace GetPowerProfilePrice. -namespace EnergyPhasesScheduleNotification { +} // namespace PauseActionWithDuration. +namespace ResumeAction { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileId)), powerProfileId)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNumOfScheduledPhases)), numOfScheduledPhases)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kScheduledPhases)), scheduledPhases)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3638,14 +3531,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPowerProfileId): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileId)); - break; - case to_underlying(Fields::kNumOfScheduledPhases): - ReturnErrorOnFailure(DataModel::Decode(reader, numOfScheduledPhases)); + case to_underlying(Fields::kActionID): + ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); break; - case to_underlying(Fields::kScheduledPhases): - ReturnErrorOnFailure(DataModel::Decode(reader, scheduledPhases)); + case to_underlying(Fields::kInvokeID): + ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); break; default: break; @@ -3656,15 +3546,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace EnergyPhasesScheduleNotification. -namespace PowerProfilesStateNotification { +} // namespace ResumeAction. +namespace EnableAction { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileCount)), powerProfileCount)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileRecords)), powerProfileRecords)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3683,11 +3572,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPowerProfileCount): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileCount)); + case to_underlying(Fields::kActionID): + ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); break; - case to_underlying(Fields::kPowerProfileRecords): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileRecords)); + case to_underlying(Fields::kInvokeID): + ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); break; default: break; @@ -3698,16 +3587,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace PowerProfilesStateNotification. -namespace EnergyPhasesScheduleResponse { +} // namespace EnableAction. +namespace EnableActionWithDuration { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileId)), powerProfileId)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNumOfScheduledPhases)), numOfScheduledPhases)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kScheduledPhases)), scheduledPhases)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDuration)), duration)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3726,14 +3614,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPowerProfileId): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileId)); + case to_underlying(Fields::kActionID): + ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); break; - case to_underlying(Fields::kNumOfScheduledPhases): - ReturnErrorOnFailure(DataModel::Decode(reader, numOfScheduledPhases)); + case to_underlying(Fields::kInvokeID): + ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); break; - case to_underlying(Fields::kScheduledPhases): - ReturnErrorOnFailure(DataModel::Decode(reader, scheduledPhases)); + case to_underlying(Fields::kDuration): + ReturnErrorOnFailure(DataModel::Decode(reader, duration)); break; default: break; @@ -3744,12 +3632,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace EnergyPhasesScheduleResponse. -namespace GetOverallSchedulePrice { +} // namespace EnableActionWithDuration. +namespace DisableAction { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3768,6 +3658,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kActionID): + ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); + break; + case to_underlying(Fields::kInvokeID): + ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + break; default: break; } @@ -3777,13 +3673,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace GetOverallSchedulePrice. -namespace PowerProfileScheduleConstraintsRequest { +} // namespace DisableAction. +namespace DisableActionWithDuration { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileId)), powerProfileId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDuration)), duration)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3802,8 +3700,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPowerProfileId): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileId)); + case to_underlying(Fields::kActionID): + ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); + break; + case to_underlying(Fields::kInvokeID): + ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + break; + case to_underlying(Fields::kDuration): + ReturnErrorOnFailure(DataModel::Decode(reader, duration)); break; default: break; @@ -3814,50 +3718,55 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace PowerProfileScheduleConstraintsRequest. -namespace EnergyPhasesScheduleRequest { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileId)), powerProfileId)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} +} // namespace DisableActionWithDuration. +} // namespace Commands -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) + switch (path.mAttributeId) { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kPowerProfileId): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileId)); - break; - default: - break; - } + case Attributes::ActionList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, actionList)); + break; + case Attributes::EndpointList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, endpointList)); + break; + case Attributes::SetupUrl::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, setupUrl)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace EnergyPhasesScheduleRequest. -namespace EnergyPhasesScheduleStateRequest { +} // namespace Attributes + +namespace Events { +namespace StateChanged { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileId)), powerProfileId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewState)), newState)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3876,8 +3785,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPowerProfileId): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileId)); + case to_underlying(Fields::kActionID): + ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); + break; + case to_underlying(Fields::kInvokeID): + ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + break; + case to_underlying(Fields::kNewState): + ReturnErrorOnFailure(DataModel::Decode(reader, newState)); break; default: break; @@ -3888,16 +3803,16 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace EnergyPhasesScheduleStateRequest. -namespace EnergyPhasesScheduleStateResponse { +} // namespace StateChanged. +namespace ActionFailed { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileId)), powerProfileId)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNumOfScheduledPhases)), numOfScheduledPhases)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kScheduledPhases)), scheduledPhases)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewState)), newState)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kError)), error)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3916,14 +3831,17 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPowerProfileId): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileId)); + case to_underlying(Fields::kActionID): + ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); + break; + case to_underlying(Fields::kInvokeID): + ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); break; - case to_underlying(Fields::kNumOfScheduledPhases): - ReturnErrorOnFailure(DataModel::Decode(reader, numOfScheduledPhases)); + case to_underlying(Fields::kNewState): + ReturnErrorOnFailure(DataModel::Decode(reader, newState)); break; - case to_underlying(Fields::kScheduledPhases): - ReturnErrorOnFailure(DataModel::Decode(reader, scheduledPhases)); + case to_underlying(Fields::kError): + ReturnErrorOnFailure(DataModel::Decode(reader, error)); break; default: break; @@ -3934,17 +3852,21 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace EnergyPhasesScheduleStateResponse. -namespace GetPowerProfilePriceExtendedResponse { +} // namespace ActionFailed. +} // namespace Events + +} // namespace BridgedActions +namespace Basic { +namespace Structs { +namespace CapabilityMinimaStruct { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileId)), powerProfileId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCurrency)), currency)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPrice)), price)); ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPriceTrailingDigit)), priceTrailingDigit)); + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCaseSessionsPerFabric)), caseSessionsPerFabric)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSubscriptionsPerFabric)), subscriptionsPerFabric)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -3954,7 +3876,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -3963,17 +3886,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPowerProfileId): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileId)); - break; - case to_underlying(Fields::kCurrency): - ReturnErrorOnFailure(DataModel::Decode(reader, currency)); - break; - case to_underlying(Fields::kPrice): - ReturnErrorOnFailure(DataModel::Decode(reader, price)); + case to_underlying(Fields::kCaseSessionsPerFabric): + ReturnErrorOnFailure(DataModel::Decode(reader, caseSessionsPerFabric)); break; - case to_underlying(Fields::kPriceTrailingDigit): - ReturnErrorOnFailure(DataModel::Decode(reader, priceTrailingDigit)); + case to_underlying(Fields::kSubscriptionsPerFabric): + ReturnErrorOnFailure(DataModel::Decode(reader, subscriptionsPerFabric)); break; default: break; @@ -3982,18 +3899,19 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace GetPowerProfilePriceExtendedResponse. -namespace EnergyPhasesScheduleStateNotification { + +} // namespace CapabilityMinimaStruct +} // namespace Structs + +namespace Commands { +namespace MfgSpecificPing { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileId)), powerProfileId)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNumOfScheduledPhases)), numOfScheduledPhases)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kScheduledPhases)), scheduledPhases)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -4012,15 +3930,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPowerProfileId): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileId)); - break; - case to_underlying(Fields::kNumOfScheduledPhases): - ReturnErrorOnFailure(DataModel::Decode(reader, numOfScheduledPhases)); - break; - case to_underlying(Fields::kScheduledPhases): - ReturnErrorOnFailure(DataModel::Decode(reader, scheduledPhases)); - break; default: break; } @@ -4030,60 +3939,104 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace EnergyPhasesScheduleStateNotification. -namespace PowerProfileScheduleConstraintsNotification { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileId)), powerProfileId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStartAfter)), startAfter)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStopBefore)), stopBefore)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} +} // namespace MfgSpecificPing. +} // namespace Commands -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) + switch (path.mAttributeId) { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kPowerProfileId): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileId)); - break; - case to_underlying(Fields::kStartAfter): - ReturnErrorOnFailure(DataModel::Decode(reader, startAfter)); - break; - case to_underlying(Fields::kStopBefore): - ReturnErrorOnFailure(DataModel::Decode(reader, stopBefore)); - break; - default: - break; - } + case Attributes::DataModelRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, dataModelRevision)); + break; + case Attributes::VendorName::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, vendorName)); + break; + case Attributes::VendorID::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, vendorID)); + break; + case Attributes::ProductName::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, productName)); + break; + case Attributes::ProductID::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, productID)); + break; + case Attributes::NodeLabel::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, nodeLabel)); + break; + case Attributes::Location::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, location)); + break; + case Attributes::HardwareVersion::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, hardwareVersion)); + break; + case Attributes::HardwareVersionString::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, hardwareVersionString)); + break; + case Attributes::SoftwareVersion::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); + break; + case Attributes::SoftwareVersionString::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersionString)); + break; + case Attributes::ManufacturingDate::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, manufacturingDate)); + break; + case Attributes::PartNumber::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, partNumber)); + break; + case Attributes::ProductURL::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, productURL)); + break; + case Attributes::ProductLabel::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, productLabel)); + break; + case Attributes::SerialNumber::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, serialNumber)); + break; + case Attributes::LocalConfigDisabled::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, localConfigDisabled)); + break; + case Attributes::Reachable::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, reachable)); + break; + case Attributes::UniqueID::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, uniqueID)); + break; + case Attributes::CapabilityMinima::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, capabilityMinima)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace PowerProfileScheduleConstraintsNotification. -namespace PowerProfileScheduleConstraintsResponse { +} // namespace Attributes + +namespace Events { +namespace StartUp { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileId)), powerProfileId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStartAfter)), startAfter)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStopBefore)), stopBefore)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSoftwareVersion)), softwareVersion)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -4102,14 +4055,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPowerProfileId): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileId)); - break; - case to_underlying(Fields::kStartAfter): - ReturnErrorOnFailure(DataModel::Decode(reader, startAfter)); - break; - case to_underlying(Fields::kStopBefore): - ReturnErrorOnFailure(DataModel::Decode(reader, stopBefore)); + case to_underlying(Fields::kSoftwareVersion): + ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); break; default: break; @@ -4120,16 +4067,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace PowerProfileScheduleConstraintsResponse. -namespace GetPowerProfilePriceExtended { +} // namespace StartUp. +namespace ShutDown { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptions)), options)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileId)), powerProfileId)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPowerProfileStartTime)), powerProfileStartTime)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -4148,15 +4091,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kOptions): - ReturnErrorOnFailure(DataModel::Decode(reader, options)); - break; - case to_underlying(Fields::kPowerProfileId): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileId)); - break; - case to_underlying(Fields::kPowerProfileStartTime): - ReturnErrorOnFailure(DataModel::Decode(reader, powerProfileStartTime)); - break; default: break; } @@ -4166,65 +4100,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace GetPowerProfilePriceExtended. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::TotalProfileNum::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, totalProfileNum)); - break; - case Attributes::MultipleScheduling::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, multipleScheduling)); - break; - case Attributes::EnergyFormatting::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, energyFormatting)); - break; - case Attributes::EnergyRemote::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, energyRemote)); - break; - case Attributes::ScheduleMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, scheduleMode)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace PowerProfile -namespace ApplianceControl { - -namespace Commands { -namespace ExecutionOfACommand { +} // namespace ShutDown. +namespace Leave { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCommandId)), commandId)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -4243,9 +4124,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCommandId): - ReturnErrorOnFailure(DataModel::Decode(reader, commandId)); - break; default: break; } @@ -4255,16 +4133,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ExecutionOfACommand. -namespace SignalStateResponse { +} // namespace Leave. +namespace ReachableChanged { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kApplianceStatus)), applianceStatus)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRemoteEnableFlagsAndDeviceStatus2)), - remoteEnableFlagsAndDeviceStatus2)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kApplianceStatus2)), applianceStatus2)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kReachableNewValue)), reachableNewValue)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -4283,14 +4158,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kApplianceStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, applianceStatus)); - break; - case to_underlying(Fields::kRemoteEnableFlagsAndDeviceStatus2): - ReturnErrorOnFailure(DataModel::Decode(reader, remoteEnableFlagsAndDeviceStatus2)); - break; - case to_underlying(Fields::kApplianceStatus2): - ReturnErrorOnFailure(DataModel::Decode(reader, applianceStatus2)); + case to_underlying(Fields::kReachableNewValue): + ReturnErrorOnFailure(DataModel::Decode(reader, reachableNewValue)); break; default: break; @@ -4301,12 +4170,29 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SignalStateResponse. -namespace SignalState { +} // namespace ReachableChanged. +} // namespace Events + +} // namespace Basic +namespace OtaSoftwareUpdateProvider { + +namespace Commands { +namespace QueryImage { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kVendorId)), vendorId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kProductId)), productId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSoftwareVersion)), softwareVersion)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kProtocolsSupported)), protocolsSupported)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHardwareVersion)), hardwareVersion)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocation)), location)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRequestorCanConsent)), requestorCanConsent)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMetadataForProvider)), metadataForProvider)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -4325,6 +4211,30 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kVendorId): + ReturnErrorOnFailure(DataModel::Decode(reader, vendorId)); + break; + case to_underlying(Fields::kProductId): + ReturnErrorOnFailure(DataModel::Decode(reader, productId)); + break; + case to_underlying(Fields::kSoftwareVersion): + ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); + break; + case to_underlying(Fields::kProtocolsSupported): + ReturnErrorOnFailure(DataModel::Decode(reader, protocolsSupported)); + break; + case to_underlying(Fields::kHardwareVersion): + ReturnErrorOnFailure(DataModel::Decode(reader, hardwareVersion)); + break; + case to_underlying(Fields::kLocation): + ReturnErrorOnFailure(DataModel::Decode(reader, location)); + break; + case to_underlying(Fields::kRequestorCanConsent): + ReturnErrorOnFailure(DataModel::Decode(reader, requestorCanConsent)); + break; + case to_underlying(Fields::kMetadataForProvider): + ReturnErrorOnFailure(DataModel::Decode(reader, metadataForProvider)); + break; default: break; } @@ -4334,16 +4244,22 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SignalState. -namespace SignalStateNotification { +} // namespace QueryImage. +namespace QueryImageResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kApplianceStatus)), applianceStatus)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRemoteEnableFlagsAndDeviceStatus2)), - remoteEnableFlagsAndDeviceStatus2)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kApplianceStatus2)), applianceStatus2)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDelayedActionTime)), delayedActionTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kImageURI)), imageURI)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSoftwareVersion)), softwareVersion)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSoftwareVersionString)), softwareVersionString)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUpdateToken)), updateToken)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserConsentNeeded)), userConsentNeeded)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMetadataForRequestor)), metadataForRequestor)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -4362,14 +4278,29 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kApplianceStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, applianceStatus)); + case to_underlying(Fields::kStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, status)); + break; + case to_underlying(Fields::kDelayedActionTime): + ReturnErrorOnFailure(DataModel::Decode(reader, delayedActionTime)); + break; + case to_underlying(Fields::kImageURI): + ReturnErrorOnFailure(DataModel::Decode(reader, imageURI)); break; - case to_underlying(Fields::kRemoteEnableFlagsAndDeviceStatus2): - ReturnErrorOnFailure(DataModel::Decode(reader, remoteEnableFlagsAndDeviceStatus2)); + case to_underlying(Fields::kSoftwareVersion): + ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); + break; + case to_underlying(Fields::kSoftwareVersionString): + ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersionString)); + break; + case to_underlying(Fields::kUpdateToken): + ReturnErrorOnFailure(DataModel::Decode(reader, updateToken)); break; - case to_underlying(Fields::kApplianceStatus2): - ReturnErrorOnFailure(DataModel::Decode(reader, applianceStatus2)); + case to_underlying(Fields::kUserConsentNeeded): + ReturnErrorOnFailure(DataModel::Decode(reader, userConsentNeeded)); + break; + case to_underlying(Fields::kMetadataForRequestor): + ReturnErrorOnFailure(DataModel::Decode(reader, metadataForRequestor)); break; default: break; @@ -4380,15 +4311,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SignalStateNotification. -namespace WriteFunctions { +} // namespace QueryImageResponse. +namespace ApplyUpdateRequest { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFunctionId)), functionId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFunctionDataType)), functionDataType)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFunctionData)), functionData)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUpdateToken)), updateToken)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewVersion)), newVersion)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -4407,14 +4337,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kFunctionId): - ReturnErrorOnFailure(DataModel::Decode(reader, functionId)); - break; - case to_underlying(Fields::kFunctionDataType): - ReturnErrorOnFailure(DataModel::Decode(reader, functionDataType)); + case to_underlying(Fields::kUpdateToken): + ReturnErrorOnFailure(DataModel::Decode(reader, updateToken)); break; - case to_underlying(Fields::kFunctionData): - ReturnErrorOnFailure(DataModel::Decode(reader, functionData)); + case to_underlying(Fields::kNewVersion): + ReturnErrorOnFailure(DataModel::Decode(reader, newVersion)); break; default: break; @@ -4425,12 +4352,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace WriteFunctions. -namespace OverloadPauseResume { +} // namespace ApplyUpdateRequest. +namespace ApplyUpdateResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAction)), action)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDelayedActionTime)), delayedActionTime)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -4449,6 +4378,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kAction): + ReturnErrorOnFailure(DataModel::Decode(reader, action)); + break; + case to_underlying(Fields::kDelayedActionTime): + ReturnErrorOnFailure(DataModel::Decode(reader, delayedActionTime)); + break; default: break; } @@ -4458,12 +4393,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace OverloadPauseResume. -namespace OverloadPause { +} // namespace ApplyUpdateResponse. +namespace NotifyUpdateApplied { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUpdateToken)), updateToken)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSoftwareVersion)), softwareVersion)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -4482,42 +4419,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - default: + case to_underlying(Fields::kUpdateToken): + ReturnErrorOnFailure(DataModel::Decode(reader, updateToken)); break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace OverloadPause. -namespace OverloadWarning { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kWarningEvent)), warningEvent)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kWarningEvent): - ReturnErrorOnFailure(DataModel::Decode(reader, warningEvent)); + case to_underlying(Fields::kSoftwareVersion): + ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); break; default: break; @@ -4528,7 +4434,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace OverloadWarning. +} // namespace NotifyUpdateApplied. } // namespace Commands namespace Attributes { @@ -4536,15 +4442,6 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::StartTime::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, startTime)); - break; - case Attributes::FinishTime::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, finishTime)); - break; - case Attributes::RemainingTime::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, remainingTime)); - break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -4571,53 +4468,30 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events { } // namespace Events -} // namespace ApplianceControl -namespace PulseWidthModulation { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +} // namespace OtaSoftwareUpdateProvider +namespace OtaSoftwareUpdateRequestor { +namespace Structs { +namespace ProviderLocation { +CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const { - switch (path.mAttributeId) - { - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; + return DoEncode(writer, tag, NullOptional); } -} // namespace Attributes -namespace Events { -} // namespace Events +CHIP_ERROR Type::EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const +{ + return DoEncode(writer, tag, MakeOptional(accessingFabricIndex)); +} -} // namespace PulseWidthModulation -namespace Descriptor { -namespace Structs { -namespace DeviceType { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +CHIP_ERROR Type::DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kType)), type)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRevision)), revision)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kProviderNodeID)), providerNodeID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndpoint)), endpoint)); + if (accessingFabricIndex.HasValue()) + { + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); + } ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -4637,11 +4511,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kType): - ReturnErrorOnFailure(DataModel::Decode(reader, type)); + case to_underlying(Fields::kProviderNodeID): + ReturnErrorOnFailure(DataModel::Decode(reader, providerNodeID)); break; - case to_underlying(Fields::kRevision): - ReturnErrorOnFailure(DataModel::Decode(reader, revision)); + case to_underlying(Fields::kEndpoint): + ReturnErrorOnFailure(DataModel::Decode(reader, endpoint)); + break; + case to_underlying(Fields::kFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); break; default: break; @@ -4654,81 +4531,21 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) return CHIP_NO_ERROR; } -} // namespace DeviceType +} // namespace ProviderLocation } // namespace Structs namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::DeviceList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, deviceList)); - break; - case Attributes::ServerList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, serverList)); - break; - case Attributes::ClientList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clientList)); - break; - case Attributes::PartsList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, partsList)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace Descriptor -namespace Binding { -namespace Structs { -namespace TargetStruct { -CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - return DoEncode(writer, tag, NullOptional); -} - -CHIP_ERROR Type::EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const -{ - return DoEncode(writer, tag, MakeOptional(accessingFabricIndex)); -} - -CHIP_ERROR Type::DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const +namespace AnnounceOtaProvider { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNode)), node)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroup)), group)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kProviderNodeId)), providerNodeId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kVendorId)), vendorId)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAnnouncementReason)), announcementReason)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMetadataForNode)), metadataForNode)); ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndpoint)), endpoint)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCluster)), cluster)); - if (accessingFabricIndex.HasValue()) - { - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); - } ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -4738,8 +4555,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -4748,20 +4564,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNode): - ReturnErrorOnFailure(DataModel::Decode(reader, node)); + case to_underlying(Fields::kProviderNodeId): + ReturnErrorOnFailure(DataModel::Decode(reader, providerNodeId)); break; - case to_underlying(Fields::kGroup): - ReturnErrorOnFailure(DataModel::Decode(reader, group)); + case to_underlying(Fields::kVendorId): + ReturnErrorOnFailure(DataModel::Decode(reader, vendorId)); break; - case to_underlying(Fields::kEndpoint): - ReturnErrorOnFailure(DataModel::Decode(reader, endpoint)); + case to_underlying(Fields::kAnnouncementReason): + ReturnErrorOnFailure(DataModel::Decode(reader, announcementReason)); break; - case to_underlying(Fields::kCluster): - ReturnErrorOnFailure(DataModel::Decode(reader, cluster)); + case to_underlying(Fields::kMetadataForNode): + ReturnErrorOnFailure(DataModel::Decode(reader, metadataForNode)); break; - case to_underlying(Fields::kFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); + case to_underlying(Fields::kEndpoint): + ReturnErrorOnFailure(DataModel::Decode(reader, endpoint)); break; default: break; @@ -4770,14 +4586,9 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace TargetStruct -} // namespace Structs - -namespace Commands { +} // namespace AnnounceOtaProvider. } // namespace Commands namespace Attributes { @@ -4785,8 +4596,17 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::Binding::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, binding)); + case Attributes::DefaultOtaProviders::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, defaultOtaProviders)); + break; + case Attributes::UpdatePossible::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, updatePossible)); + break; + case Attributes::UpdateState::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, updateState)); + break; + case Attributes::UpdateStateProgress::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, updateStateProgress)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -4812,19 +4632,16 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre } // namespace Attributes namespace Events { -} // namespace Events - -} // namespace Binding -namespace AccessControl { -namespace Structs { -namespace Target { +namespace StateTransition { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCluster)), cluster)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndpoint)), endpoint)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDeviceType)), deviceType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPreviousState)), previousState)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewState)), newState)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kReason)), reason)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTargetSoftwareVersion)), targetSoftwareVersion)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -4834,8 +4651,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -4844,14 +4660,17 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCluster): - ReturnErrorOnFailure(DataModel::Decode(reader, cluster)); + case to_underlying(Fields::kPreviousState): + ReturnErrorOnFailure(DataModel::Decode(reader, previousState)); break; - case to_underlying(Fields::kEndpoint): - ReturnErrorOnFailure(DataModel::Decode(reader, endpoint)); + case to_underlying(Fields::kNewState): + ReturnErrorOnFailure(DataModel::Decode(reader, newState)); break; - case to_underlying(Fields::kDeviceType): - ReturnErrorOnFailure(DataModel::Decode(reader, deviceType)); + case to_underlying(Fields::kReason): + ReturnErrorOnFailure(DataModel::Decode(reader, reason)); + break; + case to_underlying(Fields::kTargetSoftwareVersion): + ReturnErrorOnFailure(DataModel::Decode(reader, targetSoftwareVersion)); break; default: break; @@ -4860,47 +4679,16 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace Target -namespace AccessControlEntry { -CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - return DoEncode(writer, tag, NullOptional); -} - -CHIP_ERROR Type::EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const -{ - return DoEncode(writer, tag, MakeOptional(accessingFabricIndex)); -} - -CHIP_ERROR Type::DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const +} // namespace StateTransition. +namespace VersionApplied { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { - bool includeSensitive = !accessingFabricIndex.HasValue() || (accessingFabricIndex.Value() == fabricIndex); TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - if (includeSensitive) - { - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPrivilege)), privilege)); - } - if (includeSensitive) - { - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAuthMode)), authMode)); - } - if (includeSensitive) - { - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSubjects)), subjects)); - } - if (includeSensitive) - { - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTargets)), targets)); - } - if (accessingFabricIndex.HasValue()) - { - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); - } + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSoftwareVersion)), softwareVersion)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kProductID)), productID)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -4910,8 +4698,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -4920,20 +4707,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPrivilege): - ReturnErrorOnFailure(DataModel::Decode(reader, privilege)); - break; - case to_underlying(Fields::kAuthMode): - ReturnErrorOnFailure(DataModel::Decode(reader, authMode)); - break; - case to_underlying(Fields::kSubjects): - ReturnErrorOnFailure(DataModel::Decode(reader, subjects)); - break; - case to_underlying(Fields::kTargets): - ReturnErrorOnFailure(DataModel::Decode(reader, targets)); + case to_underlying(Fields::kSoftwareVersion): + ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); break; - case to_underlying(Fields::kFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); + case to_underlying(Fields::kProductID): + ReturnErrorOnFailure(DataModel::Decode(reader, productID)); break; default: break; @@ -4942,35 +4720,18 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace AccessControlEntry -namespace ExtensionEntry { -CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - return DoEncode(writer, tag, NullOptional); -} - -CHIP_ERROR Type::EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const -{ - return DoEncode(writer, tag, MakeOptional(accessingFabricIndex)); -} - -CHIP_ERROR Type::DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const +} // namespace VersionApplied. +namespace DownloadError { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { - bool includeSensitive = !accessingFabricIndex.HasValue() || (accessingFabricIndex.Value() == fabricIndex); TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - if (includeSensitive) - { - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kData)), data)); - } - if (accessingFabricIndex.HasValue()) - { - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); - } + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSoftwareVersion)), softwareVersion)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBytesDownloaded)), bytesDownloaded)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kProgressPercent)), progressPercent)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPlatformCode)), platformCode)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -4980,8 +4741,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -4990,11 +4750,17 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kData): - ReturnErrorOnFailure(DataModel::Decode(reader, data)); + case to_underlying(Fields::kSoftwareVersion): + ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); break; - case to_underlying(Fields::kFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); + case to_underlying(Fields::kBytesDownloaded): + ReturnErrorOnFailure(DataModel::Decode(reader, bytesDownloaded)); + break; + case to_underlying(Fields::kProgressPercent): + ReturnErrorOnFailure(DataModel::Decode(reader, progressPercent)); + break; + case to_underlying(Fields::kPlatformCode): + ReturnErrorOnFailure(DataModel::Decode(reader, platformCode)); break; default: break; @@ -5003,12 +4769,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } +} // namespace DownloadError. +} // namespace Events -} // namespace ExtensionEntry -} // namespace Structs +} // namespace OtaSoftwareUpdateRequestor +namespace LocalizationConfiguration { namespace Commands { } // namespace Commands @@ -5018,20 +4785,11 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::Acl::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acl)); - break; - case Attributes::Extension::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, extension)); - break; - case Attributes::SubjectsPerAccessControlEntry::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, subjectsPerAccessControlEntry)); - break; - case Attributes::TargetsPerAccessControlEntry::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, targetsPerAccessControlEntry)); + case Attributes::ActiveLocale::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, activeLocale)); break; - case Attributes::AccessControlEntriesPerFabric::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, accessControlEntriesPerFabric)); + case Attributes::SupportedLocales::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, supportedLocales)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -5057,160 +4815,144 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre } // namespace Attributes namespace Events { -namespace AccessControlEntryChanged { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAdminNodeID)), adminNodeID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAdminPasscodeID)), adminPasscodeID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kChangeType)), changeType)); - ReturnErrorOnFailure( - DataModel::EncodeForRead(writer, TLV::ContextTag(to_underlying(Fields::kLatestValue)), GetFabricIndex(), latestValue)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAdminFabricIndex)), adminFabricIndex)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} +} // namespace Events -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +} // namespace LocalizationConfiguration +namespace TimeFormatLocalization { + +namespace Commands { +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) + switch (path.mAttributeId) { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kAdminNodeID): - ReturnErrorOnFailure(DataModel::Decode(reader, adminNodeID)); - break; - case to_underlying(Fields::kAdminPasscodeID): - ReturnErrorOnFailure(DataModel::Decode(reader, adminPasscodeID)); - break; - case to_underlying(Fields::kChangeType): - ReturnErrorOnFailure(DataModel::Decode(reader, changeType)); - break; - case to_underlying(Fields::kLatestValue): - ReturnErrorOnFailure(DataModel::Decode(reader, latestValue)); - break; - case to_underlying(Fields::kAdminFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, adminFabricIndex)); - break; - default: - break; - } + case Attributes::HourFormat::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, hourFormat)); + break; + case Attributes::ActiveCalendarType::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, activeCalendarType)); + break; + case Attributes::SupportedCalendarTypes::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, supportedCalendarTypes)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace AccessControlEntryChanged. -namespace AccessControlExtensionChanged { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAdminNodeID)), adminNodeID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAdminPasscodeID)), adminPasscodeID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kChangeType)), changeType)); - ReturnErrorOnFailure( - DataModel::EncodeForRead(writer, TLV::ContextTag(to_underlying(Fields::kLatestValue)), GetFabricIndex(), latestValue)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAdminFabricIndex)), adminFabricIndex)); - ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } +} // namespace Attributes -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +namespace Events { +} // namespace Events + +} // namespace TimeFormatLocalization +namespace UnitLocalization { + +namespace Commands { +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) + switch (path.mAttributeId) { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kAdminNodeID): - ReturnErrorOnFailure(DataModel::Decode(reader, adminNodeID)); - break; - case to_underlying(Fields::kAdminPasscodeID): - ReturnErrorOnFailure(DataModel::Decode(reader, adminPasscodeID)); - break; - case to_underlying(Fields::kChangeType): - ReturnErrorOnFailure(DataModel::Decode(reader, changeType)); - break; - case to_underlying(Fields::kLatestValue): - ReturnErrorOnFailure(DataModel::Decode(reader, latestValue)); - break; - case to_underlying(Fields::kAdminFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, adminFabricIndex)); - break; - default: - break; - } + case Attributes::TemperatureUnit::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, temperatureUnit)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace AccessControlExtensionChanged. +} // namespace Attributes + +namespace Events { } // namespace Events -} // namespace AccessControl -namespace PollControl { +} // namespace UnitLocalization +namespace PowerSourceConfiguration { namespace Commands { -namespace CheckIn { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} +} // namespace Commands -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) + switch (path.mAttributeId) { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } + case Attributes::Sources::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, sources)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace CheckIn. -namespace CheckInResponse { +} // namespace Attributes + +namespace Events { +} // namespace Events + +} // namespace PowerSourceConfiguration +namespace PowerSource { +namespace Structs { +namespace BatChargeFaultChangeType { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStartFastPolling)), startFastPolling)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFastPollTimeout)), fastPollTimeout)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCurrent)), current)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPrevious)), previous)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -5220,7 +4962,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -5229,11 +4972,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kStartFastPolling): - ReturnErrorOnFailure(DataModel::Decode(reader, startFastPolling)); + case to_underlying(Fields::kCurrent): + ReturnErrorOnFailure(DataModel::Decode(reader, current)); break; - case to_underlying(Fields::kFastPollTimeout): - ReturnErrorOnFailure(DataModel::Decode(reader, fastPollTimeout)); + case to_underlying(Fields::kPrevious): + ReturnErrorOnFailure(DataModel::Decode(reader, previous)); break; default: break; @@ -5242,49 +4985,18 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace CheckInResponse. -namespace FastPollStop { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace FastPollStop. -namespace SetLongPollInterval { + +} // namespace BatChargeFaultChangeType +namespace BatFaultChangeType { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewLongPollInterval)), newLongPollInterval)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCurrent)), current)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPrevious)), previous)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -5294,7 +5006,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -5303,8 +5016,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNewLongPollInterval): - ReturnErrorOnFailure(DataModel::Decode(reader, newLongPollInterval)); + case to_underlying(Fields::kCurrent): + ReturnErrorOnFailure(DataModel::Decode(reader, current)); + break; + case to_underlying(Fields::kPrevious): + ReturnErrorOnFailure(DataModel::Decode(reader, previous)); break; default: break; @@ -5313,16 +5029,18 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace SetLongPollInterval. -namespace SetShortPollInterval { + +} // namespace BatFaultChangeType +namespace WiredFaultChangeType { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewShortPollInterval)), newShortPollInterval)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCurrent)), current)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPrevious)), previous)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -5332,7 +5050,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -5341,8 +5060,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNewShortPollInterval): - ReturnErrorOnFailure(DataModel::Decode(reader, newShortPollInterval)); + case to_underlying(Fields::kCurrent): + ReturnErrorOnFailure(DataModel::Decode(reader, current)); + break; + case to_underlying(Fields::kPrevious): + ReturnErrorOnFailure(DataModel::Decode(reader, previous)); break; default: break; @@ -5351,9 +5073,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace SetShortPollInterval. + +} // namespace WiredFaultChangeType +} // namespace Structs + +namespace Commands { } // namespace Commands namespace Attributes { @@ -5361,125 +5088,137 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::CheckInInterval::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, checkInInterval)); + case Attributes::Status::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, status)); break; - case Attributes::LongPollInterval::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, longPollInterval)); + case Attributes::Order::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, order)); break; - case Attributes::ShortPollInterval::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, shortPollInterval)); + case Attributes::Description::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, description)); break; - case Attributes::FastPollTimeout::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, fastPollTimeout)); + case Attributes::WiredAssessedInputVoltage::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, wiredAssessedInputVoltage)); break; - case Attributes::CheckInIntervalMin::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, checkInIntervalMin)); + case Attributes::WiredAssessedInputFrequency::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, wiredAssessedInputFrequency)); break; - case Attributes::LongPollIntervalMin::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, longPollIntervalMin)); + case Attributes::WiredCurrentType::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, wiredCurrentType)); break; - case Attributes::FastPollTimeoutMax::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, fastPollTimeoutMax)); + case Attributes::WiredAssessedCurrent::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, wiredAssessedCurrent)); break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + case Attributes::WiredNominalVoltage::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, wiredNominalVoltage)); break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + case Attributes::WiredMaximumCurrent::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, wiredMaximumCurrent)); break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + case Attributes::WiredPresent::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, wiredPresent)); break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + case Attributes::ActiveWiredFaults::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, activeWiredFaults)); break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + case Attributes::BatVoltage::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batVoltage)); break; - default: + case Attributes::BatPercentRemaining::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batPercentRemaining)); + break; + case Attributes::BatTimeRemaining::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batTimeRemaining)); + break; + case Attributes::BatChargeLevel::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batChargeLevel)); + break; + case Attributes::BatReplacementNeeded::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batReplacementNeeded)); + break; + case Attributes::BatReplaceability::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batReplaceability)); + break; + case Attributes::BatPresent::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batPresent)); + break; + case Attributes::ActiveBatFaults::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, activeBatFaults)); + break; + case Attributes::BatReplacementDescription::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batReplacementDescription)); + break; + case Attributes::BatCommonDesignation::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batCommonDesignation)); + break; + case Attributes::BatANSIDesignation::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batANSIDesignation)); + break; + case Attributes::BatIECDesignation::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batIECDesignation)); + break; + case Attributes::BatApprovedChemistry::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batApprovedChemistry)); + break; + case Attributes::BatCapacity::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batCapacity)); + break; + case Attributes::BatQuantity::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batQuantity)); + break; + case Attributes::BatChargeState::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batChargeState)); + break; + case Attributes::BatTimeToFullCharge::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batTimeToFullCharge)); + break; + case Attributes::BatFunctionalWhileCharging::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batFunctionalWhileCharging)); + break; + case Attributes::BatChargingCurrent::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, batChargingCurrent)); + break; + case Attributes::ActiveBatChargeFaults::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, activeBatChargeFaults)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: break; } return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace PollControl -namespace BridgedActions { -namespace Structs { -namespace ActionStruct { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kType)), type)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndpointListID)), endpointListID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSupportedCommands)), supportedCommands)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kActionID): - ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); - break; - case to_underlying(Fields::kName): - ReturnErrorOnFailure(DataModel::Decode(reader, name)); - break; - case to_underlying(Fields::kType): - ReturnErrorOnFailure(DataModel::Decode(reader, type)); - break; - case to_underlying(Fields::kEndpointListID): - ReturnErrorOnFailure(DataModel::Decode(reader, endpointListID)); - break; - case to_underlying(Fields::kSupportedCommands): - ReturnErrorOnFailure(DataModel::Decode(reader, supportedCommands)); - break; - case to_underlying(Fields::kStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - - return CHIP_NO_ERROR; -} +} // namespace Attributes -} // namespace ActionStruct -namespace EndpointListStruct { +namespace Events { +} // namespace Events + +} // namespace PowerSource +namespace GeneralCommissioning { +namespace Structs { +namespace BasicCommissioningInfo { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndpointListID)), endpointListID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kType)), type)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndpoints)), endpoints)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFailSafeExpiryLengthSeconds)), + failSafeExpiryLengthSeconds)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMaxCumulativeFailsafeSeconds)), + maxCumulativeFailsafeSeconds)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -5499,17 +5238,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kEndpointListID): - ReturnErrorOnFailure(DataModel::Decode(reader, endpointListID)); - break; - case to_underlying(Fields::kName): - ReturnErrorOnFailure(DataModel::Decode(reader, name)); - break; - case to_underlying(Fields::kType): - ReturnErrorOnFailure(DataModel::Decode(reader, type)); + case to_underlying(Fields::kFailSafeExpiryLengthSeconds): + ReturnErrorOnFailure(DataModel::Decode(reader, failSafeExpiryLengthSeconds)); break; - case to_underlying(Fields::kEndpoints): - ReturnErrorOnFailure(DataModel::Decode(reader, endpoints)); + case to_underlying(Fields::kMaxCumulativeFailsafeSeconds): + ReturnErrorOnFailure(DataModel::Decode(reader, maxCumulativeFailsafeSeconds)); break; default: break; @@ -5522,17 +5255,18 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) return CHIP_NO_ERROR; } -} // namespace EndpointListStruct +} // namespace BasicCommissioningInfo } // namespace Structs namespace Commands { -namespace InstantAction { +namespace ArmFailSafe { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kExpiryLengthSeconds)), expiryLengthSeconds)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBreadcrumb)), breadcrumb)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -5551,11 +5285,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kActionID): - ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); + case to_underlying(Fields::kExpiryLengthSeconds): + ReturnErrorOnFailure(DataModel::Decode(reader, expiryLengthSeconds)); break; - case to_underlying(Fields::kInvokeID): - ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + case to_underlying(Fields::kBreadcrumb): + ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); break; default: break; @@ -5566,15 +5300,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace InstantAction. -namespace InstantActionWithTransition { +} // namespace ArmFailSafe. +namespace ArmFailSafeResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kErrorCode)), errorCode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDebugText)), debugText)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -5593,14 +5326,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kActionID): - ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); - break; - case to_underlying(Fields::kInvokeID): - ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + case to_underlying(Fields::kErrorCode): + ReturnErrorOnFailure(DataModel::Decode(reader, errorCode)); break; - case to_underlying(Fields::kTransitionTime): - ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); + case to_underlying(Fields::kDebugText): + ReturnErrorOnFailure(DataModel::Decode(reader, debugText)); break; default: break; @@ -5611,14 +5341,16 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace InstantActionWithTransition. -namespace StartAction { +} // namespace ArmFailSafeResponse. +namespace SetRegulatoryConfig { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewRegulatoryConfig)), newRegulatoryConfig)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCountryCode)), countryCode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBreadcrumb)), breadcrumb)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -5637,11 +5369,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kActionID): - ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); + case to_underlying(Fields::kNewRegulatoryConfig): + ReturnErrorOnFailure(DataModel::Decode(reader, newRegulatoryConfig)); break; - case to_underlying(Fields::kInvokeID): - ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + case to_underlying(Fields::kCountryCode): + ReturnErrorOnFailure(DataModel::Decode(reader, countryCode)); + break; + case to_underlying(Fields::kBreadcrumb): + ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); break; default: break; @@ -5652,15 +5387,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace StartAction. -namespace StartActionWithDuration { +} // namespace SetRegulatoryConfig. +namespace SetRegulatoryConfigResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDuration)), duration)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kErrorCode)), errorCode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDebugText)), debugText)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -5679,14 +5413,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kActionID): - ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); - break; - case to_underlying(Fields::kInvokeID): - ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + case to_underlying(Fields::kErrorCode): + ReturnErrorOnFailure(DataModel::Decode(reader, errorCode)); break; - case to_underlying(Fields::kDuration): - ReturnErrorOnFailure(DataModel::Decode(reader, duration)); + case to_underlying(Fields::kDebugText): + ReturnErrorOnFailure(DataModel::Decode(reader, debugText)); break; default: break; @@ -5697,14 +5428,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace StartActionWithDuration. -namespace StopAction { +} // namespace SetRegulatoryConfigResponse. +namespace CommissioningComplete { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -5723,12 +5452,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kActionID): - ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); - break; - case to_underlying(Fields::kInvokeID): - ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); - break; default: break; } @@ -5738,14 +5461,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace StopAction. -namespace PauseAction { +} // namespace CommissioningComplete. +namespace CommissioningCompleteResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kErrorCode)), errorCode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDebugText)), debugText)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -5764,11 +5487,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kActionID): - ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); + case to_underlying(Fields::kErrorCode): + ReturnErrorOnFailure(DataModel::Decode(reader, errorCode)); break; - case to_underlying(Fields::kInvokeID): - ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + case to_underlying(Fields::kDebugText): + ReturnErrorOnFailure(DataModel::Decode(reader, debugText)); break; default: break; @@ -5779,25 +5502,76 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace PauseAction. -namespace PauseActionWithDuration { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDuration)), duration)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} +} // namespace CommissioningCompleteResponse. +} // namespace Commands -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::Breadcrumb::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); + break; + case Attributes::BasicCommissioningInfo::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, basicCommissioningInfo)); + break; + case Attributes::RegulatoryConfig::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, regulatoryConfig)); + break; + case Attributes::LocationCapability::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, locationCapability)); + break; + case Attributes::SupportsConcurrentConnection::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, supportsConcurrentConnection)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; + } + + return CHIP_NO_ERROR; +} +} // namespace Attributes + +namespace Events { +} // namespace Events + +} // namespace GeneralCommissioning +namespace NetworkCommissioning { +namespace Structs { +namespace NetworkInfo { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkID)), networkID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kConnected)), connected)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -5806,14 +5580,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kActionID): - ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); - break; - case to_underlying(Fields::kInvokeID): - ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + case to_underlying(Fields::kNetworkID): + ReturnErrorOnFailure(DataModel::Decode(reader, networkID)); break; - case to_underlying(Fields::kDuration): - ReturnErrorOnFailure(DataModel::Decode(reader, duration)); + case to_underlying(Fields::kConnected): + ReturnErrorOnFailure(DataModel::Decode(reader, connected)); break; default: break; @@ -5822,16 +5593,24 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace PauseActionWithDuration. -namespace ResumeAction { + +} // namespace NetworkInfo +namespace ThreadInterfaceScanResult { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPanId)), panId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kExtendedPanId)), extendedPanId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkName)), networkName)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kChannel)), channel)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kVersion)), version)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kExtendedAddress)), extendedAddress)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRssi)), rssi)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLqi)), lqi)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -5841,7 +5620,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -5850,11 +5630,29 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kActionID): - ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); + case to_underlying(Fields::kPanId): + ReturnErrorOnFailure(DataModel::Decode(reader, panId)); break; - case to_underlying(Fields::kInvokeID): - ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + case to_underlying(Fields::kExtendedPanId): + ReturnErrorOnFailure(DataModel::Decode(reader, extendedPanId)); + break; + case to_underlying(Fields::kNetworkName): + ReturnErrorOnFailure(DataModel::Decode(reader, networkName)); + break; + case to_underlying(Fields::kChannel): + ReturnErrorOnFailure(DataModel::Decode(reader, channel)); + break; + case to_underlying(Fields::kVersion): + ReturnErrorOnFailure(DataModel::Decode(reader, version)); + break; + case to_underlying(Fields::kExtendedAddress): + ReturnErrorOnFailure(DataModel::Decode(reader, extendedAddress)); + break; + case to_underlying(Fields::kRssi): + ReturnErrorOnFailure(DataModel::Decode(reader, rssi)); + break; + case to_underlying(Fields::kLqi): + ReturnErrorOnFailure(DataModel::Decode(reader, lqi)); break; default: break; @@ -5863,16 +5661,22 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace ResumeAction. -namespace EnableAction { + +} // namespace ThreadInterfaceScanResult +namespace WiFiInterfaceScanResult { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSecurity)), security)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSsid)), ssid)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBssid)), bssid)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kChannel)), channel)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kWiFiBand)), wiFiBand)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRssi)), rssi)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -5882,7 +5686,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -5891,11 +5696,23 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kActionID): - ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); + case to_underlying(Fields::kSecurity): + ReturnErrorOnFailure(DataModel::Decode(reader, security)); break; - case to_underlying(Fields::kInvokeID): - ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + case to_underlying(Fields::kSsid): + ReturnErrorOnFailure(DataModel::Decode(reader, ssid)); + break; + case to_underlying(Fields::kBssid): + ReturnErrorOnFailure(DataModel::Decode(reader, bssid)); + break; + case to_underlying(Fields::kChannel): + ReturnErrorOnFailure(DataModel::Decode(reader, channel)); + break; + case to_underlying(Fields::kWiFiBand): + ReturnErrorOnFailure(DataModel::Decode(reader, wiFiBand)); + break; + case to_underlying(Fields::kRssi): + ReturnErrorOnFailure(DataModel::Decode(reader, rssi)); break; default: break; @@ -5904,17 +5721,21 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace EnableAction. -namespace EnableActionWithDuration { + +} // namespace WiFiInterfaceScanResult +} // namespace Structs + +namespace Commands { +namespace ScanNetworks { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDuration)), duration)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSsid)), ssid)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBreadcrumb)), breadcrumb)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -5933,14 +5754,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kActionID): - ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); - break; - case to_underlying(Fields::kInvokeID): - ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + case to_underlying(Fields::kSsid): + ReturnErrorOnFailure(DataModel::Decode(reader, ssid)); break; - case to_underlying(Fields::kDuration): - ReturnErrorOnFailure(DataModel::Decode(reader, duration)); + case to_underlying(Fields::kBreadcrumb): + ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); break; default: break; @@ -5951,14 +5769,16 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace EnableActionWithDuration. -namespace DisableAction { +} // namespace ScanNetworks. +namespace ScanNetworksResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkingStatus)), networkingStatus)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDebugText)), debugText)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kWiFiScanResults)), wiFiScanResults)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kThreadScanResults)), threadScanResults)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -5977,11 +5797,17 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kActionID): - ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); + case to_underlying(Fields::kNetworkingStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, networkingStatus)); break; - case to_underlying(Fields::kInvokeID): - ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + case to_underlying(Fields::kDebugText): + ReturnErrorOnFailure(DataModel::Decode(reader, debugText)); + break; + case to_underlying(Fields::kWiFiScanResults): + ReturnErrorOnFailure(DataModel::Decode(reader, wiFiScanResults)); + break; + case to_underlying(Fields::kThreadScanResults): + ReturnErrorOnFailure(DataModel::Decode(reader, threadScanResults)); break; default: break; @@ -5992,15 +5818,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace DisableAction. -namespace DisableActionWithDuration { +} // namespace ScanNetworksResponse. +namespace AddOrUpdateWiFiNetwork { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDuration)), duration)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSsid)), ssid)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentials)), credentials)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBreadcrumb)), breadcrumb)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -6019,14 +5845,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kActionID): - ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); + case to_underlying(Fields::kSsid): + ReturnErrorOnFailure(DataModel::Decode(reader, ssid)); break; - case to_underlying(Fields::kInvokeID): - ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + case to_underlying(Fields::kCredentials): + ReturnErrorOnFailure(DataModel::Decode(reader, credentials)); break; - case to_underlying(Fields::kDuration): - ReturnErrorOnFailure(DataModel::Decode(reader, duration)); + case to_underlying(Fields::kBreadcrumb): + ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); break; default: break; @@ -6037,55 +5863,56 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace DisableActionWithDuration. -} // namespace Commands +} // namespace AddOrUpdateWiFiNetwork. +namespace AddOrUpdateThreadNetwork { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperationalDataset)), operationalDataset)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBreadcrumb)), breadcrumb)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::ActionList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, actionList)); - break; - case Attributes::EndpointList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, endpointList)); - break; - case Attributes::SetupUrl::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, setupUrl)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kOperationalDataset): + ReturnErrorOnFailure(DataModel::Decode(reader, operationalDataset)); + break; + case to_underlying(Fields::kBreadcrumb): + ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -namespace StateChanged { +} // namespace AddOrUpdateThreadNetwork. +namespace RemoveNetwork { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewState)), newState)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkID)), networkID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBreadcrumb)), breadcrumb)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -6104,14 +5931,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kActionID): - ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); - break; - case to_underlying(Fields::kInvokeID): - ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + case to_underlying(Fields::kNetworkID): + ReturnErrorOnFailure(DataModel::Decode(reader, networkID)); break; - case to_underlying(Fields::kNewState): - ReturnErrorOnFailure(DataModel::Decode(reader, newState)); + case to_underlying(Fields::kBreadcrumb): + ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); break; default: break; @@ -6122,16 +5946,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace StateChanged. -namespace ActionFailed { +} // namespace RemoveNetwork. +namespace NetworkConfigResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActionID)), actionID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInvokeID)), invokeID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewState)), newState)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kError)), error)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkingStatus)), networkingStatus)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDebugText)), debugText)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkIndex)), networkIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -6150,17 +5973,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kActionID): - ReturnErrorOnFailure(DataModel::Decode(reader, actionID)); - break; - case to_underlying(Fields::kInvokeID): - ReturnErrorOnFailure(DataModel::Decode(reader, invokeID)); + case to_underlying(Fields::kNetworkingStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, networkingStatus)); break; - case to_underlying(Fields::kNewState): - ReturnErrorOnFailure(DataModel::Decode(reader, newState)); + case to_underlying(Fields::kDebugText): + ReturnErrorOnFailure(DataModel::Decode(reader, debugText)); break; - case to_underlying(Fields::kError): - ReturnErrorOnFailure(DataModel::Decode(reader, error)); + case to_underlying(Fields::kNetworkIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, networkIndex)); break; default: break; @@ -6171,21 +5991,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ActionFailed. -} // namespace Events - -} // namespace BridgedActions -namespace Basic { -namespace Structs { -namespace CapabilityMinimaStruct { +} // namespace NetworkConfigResponse. +namespace ConnectNetwork { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCaseSessionsPerFabric)), caseSessionsPerFabric)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSubscriptionsPerFabric)), subscriptionsPerFabric)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkID)), networkID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBreadcrumb)), breadcrumb)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -6195,8 +6008,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -6205,11 +6017,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCaseSessionsPerFabric): - ReturnErrorOnFailure(DataModel::Decode(reader, caseSessionsPerFabric)); + case to_underlying(Fields::kNetworkID): + ReturnErrorOnFailure(DataModel::Decode(reader, networkID)); break; - case to_underlying(Fields::kSubscriptionsPerFabric): - ReturnErrorOnFailure(DataModel::Decode(reader, subscriptionsPerFabric)); + case to_underlying(Fields::kBreadcrumb): + ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); break; default: break; @@ -6218,19 +6030,62 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - + return CHIP_NO_ERROR; +} +} // namespace ConnectNetwork. +namespace ConnectNetworkResponse { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkingStatus)), networkingStatus)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDebugText)), debugText)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kErrorValue)), errorValue)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace CapabilityMinimaStruct -} // namespace Structs +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kNetworkingStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, networkingStatus)); + break; + case to_underlying(Fields::kDebugText): + ReturnErrorOnFailure(DataModel::Decode(reader, debugText)); + break; + case to_underlying(Fields::kErrorValue): + ReturnErrorOnFailure(DataModel::Decode(reader, errorValue)); + break; + default: + break; + } + } -namespace Commands { -namespace MfgSpecificPing { + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace ConnectNetworkResponse. +namespace ReorderNetwork { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkID)), networkID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkIndex)), networkIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBreadcrumb)), breadcrumb)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -6249,6 +6104,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kNetworkID): + ReturnErrorOnFailure(DataModel::Decode(reader, networkID)); + break; + case to_underlying(Fields::kNetworkIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, networkIndex)); + break; + case to_underlying(Fields::kBreadcrumb): + ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); + break; default: break; } @@ -6258,7 +6122,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace MfgSpecificPing. +} // namespace ReorderNetwork. } // namespace Commands namespace Attributes { @@ -6266,65 +6130,29 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::DataModelRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, dataModelRevision)); - break; - case Attributes::VendorName::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, vendorName)); - break; - case Attributes::VendorID::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, vendorID)); - break; - case Attributes::ProductName::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, productName)); - break; - case Attributes::ProductID::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, productID)); - break; - case Attributes::NodeLabel::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, nodeLabel)); - break; - case Attributes::Location::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, location)); - break; - case Attributes::HardwareVersion::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, hardwareVersion)); - break; - case Attributes::HardwareVersionString::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, hardwareVersionString)); - break; - case Attributes::SoftwareVersion::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); - break; - case Attributes::SoftwareVersionString::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersionString)); - break; - case Attributes::ManufacturingDate::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, manufacturingDate)); - break; - case Attributes::PartNumber::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, partNumber)); + case Attributes::MaxNetworks::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxNetworks)); break; - case Attributes::ProductURL::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, productURL)); + case Attributes::Networks::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, networks)); break; - case Attributes::ProductLabel::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, productLabel)); + case Attributes::ScanMaxTimeSeconds::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, scanMaxTimeSeconds)); break; - case Attributes::SerialNumber::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, serialNumber)); + case Attributes::ConnectMaxTimeSeconds::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, connectMaxTimeSeconds)); break; - case Attributes::LocalConfigDisabled::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, localConfigDisabled)); + case Attributes::InterfaceEnabled::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, interfaceEnabled)); break; - case Attributes::Reachable::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, reachable)); + case Attributes::LastNetworkingStatus::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, lastNetworkingStatus)); break; - case Attributes::UniqueID::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, uniqueID)); + case Attributes::LastNetworkID::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, lastNetworkID)); break; - case Attributes::CapabilityMinima::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, capabilityMinima)); + case Attributes::LastConnectErrorValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, lastConnectErrorValue)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -6350,15 +6178,24 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre } // namespace Attributes namespace Events { -namespace StartUp { +} // namespace Events + +} // namespace NetworkCommissioning +namespace DiagnosticLogs { + +namespace Commands { +namespace RetrieveLogsRequest { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSoftwareVersion)), softwareVersion)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIntent)), intent)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRequestedProtocol)), requestedProtocol)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransferFileDesignator)), transferFileDesignator)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { @@ -6374,8 +6211,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kSoftwareVersion): - ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); + case to_underlying(Fields::kIntent): + ReturnErrorOnFailure(DataModel::Decode(reader, intent)); + break; + case to_underlying(Fields::kRequestedProtocol): + ReturnErrorOnFailure(DataModel::Decode(reader, requestedProtocol)); + break; + case to_underlying(Fields::kTransferFileDesignator): + ReturnErrorOnFailure(DataModel::Decode(reader, transferFileDesignator)); break; default: break; @@ -6386,12 +6229,16 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace StartUp. -namespace ShutDown { +} // namespace RetrieveLogsRequest. +namespace RetrieveLogsResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kContent)), content)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTimeStamp)), timeStamp)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTimeSinceBoot)), timeSinceBoot)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -6410,6 +6257,18 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, status)); + break; + case to_underlying(Fields::kContent): + ReturnErrorOnFailure(DataModel::Decode(reader, content)); + break; + case to_underlying(Fields::kTimeStamp): + ReturnErrorOnFailure(DataModel::Decode(reader, timeStamp)); + break; + case to_underlying(Fields::kTimeSinceBoot): + ReturnErrorOnFailure(DataModel::Decode(reader, timeSinceBoot)); + break; default: break; } @@ -6419,12 +6278,58 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ShutDown. -namespace Leave { +} // namespace RetrieveLogsResponse. +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; + } + + return CHIP_NO_ERROR; +} +} // namespace Attributes + +namespace Events { +} // namespace Events + +} // namespace DiagnosticLogs +namespace GeneralDiagnostics { +namespace Structs { +namespace NetworkInterfaceType { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIsOperational)), isOperational)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOffPremiseServicesReachableIPv4)), + offPremiseServicesReachableIPv4)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOffPremiseServicesReachableIPv6)), + offPremiseServicesReachableIPv6)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHardwareAddress)), hardwareAddress)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIPv4Addresses)), IPv4Addresses)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIPv6Addresses)), IPv6Addresses)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kType)), type)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -6434,7 +6339,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -6443,6 +6349,30 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kName): + ReturnErrorOnFailure(DataModel::Decode(reader, name)); + break; + case to_underlying(Fields::kIsOperational): + ReturnErrorOnFailure(DataModel::Decode(reader, isOperational)); + break; + case to_underlying(Fields::kOffPremiseServicesReachableIPv4): + ReturnErrorOnFailure(DataModel::Decode(reader, offPremiseServicesReachableIPv4)); + break; + case to_underlying(Fields::kOffPremiseServicesReachableIPv6): + ReturnErrorOnFailure(DataModel::Decode(reader, offPremiseServicesReachableIPv6)); + break; + case to_underlying(Fields::kHardwareAddress): + ReturnErrorOnFailure(DataModel::Decode(reader, hardwareAddress)); + break; + case to_underlying(Fields::kIPv4Addresses): + ReturnErrorOnFailure(DataModel::Decode(reader, IPv4Addresses)); + break; + case to_underlying(Fields::kIPv6Addresses): + ReturnErrorOnFailure(DataModel::Decode(reader, IPv6Addresses)); + break; + case to_underlying(Fields::kType): + ReturnErrorOnFailure(DataModel::Decode(reader, type)); + break; default: break; } @@ -6450,15 +6380,21 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace Leave. -namespace ReachableChanged { + +} // namespace NetworkInterfaceType +} // namespace Structs + +namespace Commands { +namespace TestEventTrigger { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kReachableNewValue)), reachableNewValue)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEnableKey)), enableKey)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEventTrigger)), eventTrigger)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -6477,8 +6413,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kReachableNewValue): - ReturnErrorOnFailure(DataModel::Decode(reader, reachableNewValue)); + case to_underlying(Fields::kEnableKey): + ReturnErrorOnFailure(DataModel::Decode(reader, enableKey)); + break; + case to_underlying(Fields::kEventTrigger): + ReturnErrorOnFailure(DataModel::Decode(reader, eventTrigger)); break; default: break; @@ -6489,29 +6428,72 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ReachableChanged. -} // namespace Events +} // namespace TestEventTrigger. +} // namespace Commands -} // namespace Basic -namespace OtaSoftwareUpdateProvider { +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::NetworkInterfaces::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, networkInterfaces)); + break; + case Attributes::RebootCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rebootCount)); + break; + case Attributes::UpTime::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, upTime)); + break; + case Attributes::TotalOperationalHours::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, totalOperationalHours)); + break; + case Attributes::BootReasons::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, bootReasons)); + break; + case Attributes::ActiveHardwareFaults::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, activeHardwareFaults)); + break; + case Attributes::ActiveRadioFaults::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, activeRadioFaults)); + break; + case Attributes::ActiveNetworkFaults::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, activeNetworkFaults)); + break; + case Attributes::TestEventTriggersEnabled::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, testEventTriggersEnabled)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; + } -namespace Commands { -namespace QueryImage { + return CHIP_NO_ERROR; +} +} // namespace Attributes + +namespace Events { +namespace HardwareFaultChange { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kVendorId)), vendorId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kProductId)), productId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSoftwareVersion)), softwareVersion)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kProtocolsSupported)), protocolsSupported)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHardwareVersion)), hardwareVersion)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocation)), location)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRequestorCanConsent)), requestorCanConsent)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMetadataForProvider)), metadataForProvider)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCurrent)), current)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPrevious)), previous)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -6530,29 +6512,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kVendorId): - ReturnErrorOnFailure(DataModel::Decode(reader, vendorId)); - break; - case to_underlying(Fields::kProductId): - ReturnErrorOnFailure(DataModel::Decode(reader, productId)); - break; - case to_underlying(Fields::kSoftwareVersion): - ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); - break; - case to_underlying(Fields::kProtocolsSupported): - ReturnErrorOnFailure(DataModel::Decode(reader, protocolsSupported)); - break; - case to_underlying(Fields::kHardwareVersion): - ReturnErrorOnFailure(DataModel::Decode(reader, hardwareVersion)); - break; - case to_underlying(Fields::kLocation): - ReturnErrorOnFailure(DataModel::Decode(reader, location)); - break; - case to_underlying(Fields::kRequestorCanConsent): - ReturnErrorOnFailure(DataModel::Decode(reader, requestorCanConsent)); + case to_underlying(Fields::kCurrent): + ReturnErrorOnFailure(DataModel::Decode(reader, current)); break; - case to_underlying(Fields::kMetadataForProvider): - ReturnErrorOnFailure(DataModel::Decode(reader, metadataForProvider)); + case to_underlying(Fields::kPrevious): + ReturnErrorOnFailure(DataModel::Decode(reader, previous)); break; default: break; @@ -6563,22 +6527,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace QueryImage. -namespace QueryImageResponse { +} // namespace HardwareFaultChange. +namespace RadioFaultChange { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDelayedActionTime)), delayedActionTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kImageURI)), imageURI)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSoftwareVersion)), softwareVersion)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSoftwareVersionString)), softwareVersionString)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUpdateToken)), updateToken)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserConsentNeeded)), userConsentNeeded)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMetadataForRequestor)), metadataForRequestor)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCurrent)), current)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPrevious)), previous)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -6597,70 +6553,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); + case to_underlying(Fields::kCurrent): + ReturnErrorOnFailure(DataModel::Decode(reader, current)); break; - case to_underlying(Fields::kDelayedActionTime): - ReturnErrorOnFailure(DataModel::Decode(reader, delayedActionTime)); - break; - case to_underlying(Fields::kImageURI): - ReturnErrorOnFailure(DataModel::Decode(reader, imageURI)); - break; - case to_underlying(Fields::kSoftwareVersion): - ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); - break; - case to_underlying(Fields::kSoftwareVersionString): - ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersionString)); - break; - case to_underlying(Fields::kUpdateToken): - ReturnErrorOnFailure(DataModel::Decode(reader, updateToken)); - break; - case to_underlying(Fields::kUserConsentNeeded): - ReturnErrorOnFailure(DataModel::Decode(reader, userConsentNeeded)); - break; - case to_underlying(Fields::kMetadataForRequestor): - ReturnErrorOnFailure(DataModel::Decode(reader, metadataForRequestor)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace QueryImageResponse. -namespace ApplyUpdateRequest { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUpdateToken)), updateToken)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewVersion)), newVersion)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kUpdateToken): - ReturnErrorOnFailure(DataModel::Decode(reader, updateToken)); - break; - case to_underlying(Fields::kNewVersion): - ReturnErrorOnFailure(DataModel::Decode(reader, newVersion)); + case to_underlying(Fields::kPrevious): + ReturnErrorOnFailure(DataModel::Decode(reader, previous)); break; default: break; @@ -6671,14 +6568,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ApplyUpdateRequest. -namespace ApplyUpdateResponse { +} // namespace RadioFaultChange. +namespace NetworkFaultChange { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAction)), action)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDelayedActionTime)), delayedActionTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCurrent)), current)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPrevious)), previous)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -6697,11 +6594,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kAction): - ReturnErrorOnFailure(DataModel::Decode(reader, action)); + case to_underlying(Fields::kCurrent): + ReturnErrorOnFailure(DataModel::Decode(reader, current)); break; - case to_underlying(Fields::kDelayedActionTime): - ReturnErrorOnFailure(DataModel::Decode(reader, delayedActionTime)); + case to_underlying(Fields::kPrevious): + ReturnErrorOnFailure(DataModel::Decode(reader, previous)); break; default: break; @@ -6712,14 +6609,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ApplyUpdateResponse. -namespace NotifyUpdateApplied { +} // namespace NetworkFaultChange. +namespace BootReason { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUpdateToken)), updateToken)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSoftwareVersion)), softwareVersion)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBootReason)), bootReason)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -6738,11 +6634,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kUpdateToken): - ReturnErrorOnFailure(DataModel::Decode(reader, updateToken)); - break; - case to_underlying(Fields::kSoftwareVersion): - ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); + case to_underlying(Fields::kBootReason): + ReturnErrorOnFailure(DataModel::Decode(reader, bootReason)); break; default: break; @@ -6753,64 +6646,22 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace NotifyUpdateApplied. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { +} // namespace BootReason. } // namespace Events -} // namespace OtaSoftwareUpdateProvider -namespace OtaSoftwareUpdateRequestor { +} // namespace GeneralDiagnostics +namespace SoftwareDiagnostics { namespace Structs { -namespace ProviderLocation { -CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - return DoEncode(writer, tag, NullOptional); -} - -CHIP_ERROR Type::EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const -{ - return DoEncode(writer, tag, MakeOptional(accessingFabricIndex)); -} - -CHIP_ERROR Type::DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const +namespace ThreadMetrics { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kProviderNodeID)), providerNodeID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndpoint)), endpoint)); - if (accessingFabricIndex.HasValue()) - { - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); - } + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kId)), id)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStackFreeCurrent)), stackFreeCurrent)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStackFreeMinimum)), stackFreeMinimum)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStackSize)), stackSize)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -6830,14 +6681,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kProviderNodeID): - ReturnErrorOnFailure(DataModel::Decode(reader, providerNodeID)); + case to_underlying(Fields::kId): + ReturnErrorOnFailure(DataModel::Decode(reader, id)); break; - case to_underlying(Fields::kEndpoint): - ReturnErrorOnFailure(DataModel::Decode(reader, endpoint)); + case to_underlying(Fields::kName): + ReturnErrorOnFailure(DataModel::Decode(reader, name)); break; - case to_underlying(Fields::kFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); + case to_underlying(Fields::kStackFreeCurrent): + ReturnErrorOnFailure(DataModel::Decode(reader, stackFreeCurrent)); + break; + case to_underlying(Fields::kStackFreeMinimum): + ReturnErrorOnFailure(DataModel::Decode(reader, stackFreeMinimum)); + break; + case to_underlying(Fields::kStackSize): + ReturnErrorOnFailure(DataModel::Decode(reader, stackSize)); break; default: break; @@ -6850,21 +6707,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) return CHIP_NO_ERROR; } -} // namespace ProviderLocation +} // namespace ThreadMetrics } // namespace Structs namespace Commands { -namespace AnnounceOtaProvider { +namespace ResetWatermarks { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kProviderNodeId)), providerNodeId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kVendorId)), vendorId)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAnnouncementReason)), announcementReason)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMetadataForNode)), metadataForNode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndpoint)), endpoint)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -6883,21 +6734,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kProviderNodeId): - ReturnErrorOnFailure(DataModel::Decode(reader, providerNodeId)); - break; - case to_underlying(Fields::kVendorId): - ReturnErrorOnFailure(DataModel::Decode(reader, vendorId)); - break; - case to_underlying(Fields::kAnnouncementReason): - ReturnErrorOnFailure(DataModel::Decode(reader, announcementReason)); - break; - case to_underlying(Fields::kMetadataForNode): - ReturnErrorOnFailure(DataModel::Decode(reader, metadataForNode)); - break; - case to_underlying(Fields::kEndpoint): - ReturnErrorOnFailure(DataModel::Decode(reader, endpoint)); - break; default: break; } @@ -6907,7 +6743,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace AnnounceOtaProvider. +} // namespace ResetWatermarks. } // namespace Commands namespace Attributes { @@ -6915,17 +6751,17 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::DefaultOtaProviders::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, defaultOtaProviders)); + case Attributes::ThreadMetrics::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, threadMetrics)); break; - case Attributes::UpdatePossible::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, updatePossible)); + case Attributes::CurrentHeapFree::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentHeapFree)); break; - case Attributes::UpdateState::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, updateState)); + case Attributes::CurrentHeapUsed::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentHeapUsed)); break; - case Attributes::UpdateStateProgress::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, updateStateProgress)); + case Attributes::CurrentHeapHighWatermark::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentHeapHighWatermark)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -6951,16 +6787,14 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre } // namespace Attributes namespace Events { -namespace StateTransition { +namespace SoftwareFault { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPreviousState)), previousState)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewState)), newState)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kReason)), reason)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTargetSoftwareVersion)), targetSoftwareVersion)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kId)), id)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFaultRecording)), faultRecording)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -6979,17 +6813,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPreviousState): - ReturnErrorOnFailure(DataModel::Decode(reader, previousState)); - break; - case to_underlying(Fields::kNewState): - ReturnErrorOnFailure(DataModel::Decode(reader, newState)); + case to_underlying(Fields::kId): + ReturnErrorOnFailure(DataModel::Decode(reader, id)); break; - case to_underlying(Fields::kReason): - ReturnErrorOnFailure(DataModel::Decode(reader, reason)); + case to_underlying(Fields::kName): + ReturnErrorOnFailure(DataModel::Decode(reader, name)); break; - case to_underlying(Fields::kTargetSoftwareVersion): - ReturnErrorOnFailure(DataModel::Decode(reader, targetSoftwareVersion)); + case to_underlying(Fields::kFaultRecording): + ReturnErrorOnFailure(DataModel::Decode(reader, faultRecording)); break; default: break; @@ -7000,24 +6831,42 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace StateTransition. -namespace VersionApplied { +} // namespace SoftwareFault. +} // namespace Events + +} // namespace SoftwareDiagnostics +namespace ThreadNetworkDiagnostics { +namespace Structs { +namespace NeighborTable { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSoftwareVersion)), softwareVersion)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kProductID)), productID)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kExtAddress)), extAddress)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAge)), age)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRloc16)), rloc16)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLinkFrameCounter)), linkFrameCounter)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMleFrameCounter)), mleFrameCounter)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLqi)), lqi)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAverageRssi)), averageRssi)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLastRssi)), lastRssi)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFrameErrorRate)), frameErrorRate)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMessageErrorRate)), messageErrorRate)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRxOnWhenIdle)), rxOnWhenIdle)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFullThreadDevice)), fullThreadDevice)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFullNetworkData)), fullNetworkData)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIsChild)), isChild)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -7026,11 +6875,47 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kSoftwareVersion): - ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); + case to_underlying(Fields::kExtAddress): + ReturnErrorOnFailure(DataModel::Decode(reader, extAddress)); break; - case to_underlying(Fields::kProductID): - ReturnErrorOnFailure(DataModel::Decode(reader, productID)); + case to_underlying(Fields::kAge): + ReturnErrorOnFailure(DataModel::Decode(reader, age)); + break; + case to_underlying(Fields::kRloc16): + ReturnErrorOnFailure(DataModel::Decode(reader, rloc16)); + break; + case to_underlying(Fields::kLinkFrameCounter): + ReturnErrorOnFailure(DataModel::Decode(reader, linkFrameCounter)); + break; + case to_underlying(Fields::kMleFrameCounter): + ReturnErrorOnFailure(DataModel::Decode(reader, mleFrameCounter)); + break; + case to_underlying(Fields::kLqi): + ReturnErrorOnFailure(DataModel::Decode(reader, lqi)); + break; + case to_underlying(Fields::kAverageRssi): + ReturnErrorOnFailure(DataModel::Decode(reader, averageRssi)); + break; + case to_underlying(Fields::kLastRssi): + ReturnErrorOnFailure(DataModel::Decode(reader, lastRssi)); + break; + case to_underlying(Fields::kFrameErrorRate): + ReturnErrorOnFailure(DataModel::Decode(reader, frameErrorRate)); + break; + case to_underlying(Fields::kMessageErrorRate): + ReturnErrorOnFailure(DataModel::Decode(reader, messageErrorRate)); + break; + case to_underlying(Fields::kRxOnWhenIdle): + ReturnErrorOnFailure(DataModel::Decode(reader, rxOnWhenIdle)); + break; + case to_underlying(Fields::kFullThreadDevice): + ReturnErrorOnFailure(DataModel::Decode(reader, fullThreadDevice)); + break; + case to_underlying(Fields::kFullNetworkData): + ReturnErrorOnFailure(DataModel::Decode(reader, fullNetworkData)); + break; + case to_underlying(Fields::kIsChild): + ReturnErrorOnFailure(DataModel::Decode(reader, isChild)); break; default: break; @@ -7039,18 +6924,35 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace VersionApplied. -namespace DownloadError { + +} // namespace NeighborTable +namespace OperationalDatasetComponents { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSoftwareVersion)), softwareVersion)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBytesDownloaded)), bytesDownloaded)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kProgressPercent)), progressPercent)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPlatformCode)), platformCode)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActiveTimestampPresent)), activeTimestampPresent)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPendingTimestampPresent)), pendingTimestampPresent)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMasterKeyPresent)), masterKeyPresent)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkNamePresent)), networkNamePresent)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kExtendedPanIdPresent)), extendedPanIdPresent)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMeshLocalPrefixPresent)), meshLocalPrefixPresent)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDelayPresent)), delayPresent)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPanIdPresent)), panIdPresent)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kChannelPresent)), channelPresent)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPskcPresent)), pskcPresent)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSecurityPolicyPresent)), securityPolicyPresent)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kChannelMaskPresent)), channelMaskPresent)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -7060,7 +6962,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -7069,17 +6972,41 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kSoftwareVersion): - ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); + case to_underlying(Fields::kActiveTimestampPresent): + ReturnErrorOnFailure(DataModel::Decode(reader, activeTimestampPresent)); break; - case to_underlying(Fields::kBytesDownloaded): - ReturnErrorOnFailure(DataModel::Decode(reader, bytesDownloaded)); + case to_underlying(Fields::kPendingTimestampPresent): + ReturnErrorOnFailure(DataModel::Decode(reader, pendingTimestampPresent)); break; - case to_underlying(Fields::kProgressPercent): - ReturnErrorOnFailure(DataModel::Decode(reader, progressPercent)); + case to_underlying(Fields::kMasterKeyPresent): + ReturnErrorOnFailure(DataModel::Decode(reader, masterKeyPresent)); break; - case to_underlying(Fields::kPlatformCode): - ReturnErrorOnFailure(DataModel::Decode(reader, platformCode)); + case to_underlying(Fields::kNetworkNamePresent): + ReturnErrorOnFailure(DataModel::Decode(reader, networkNamePresent)); + break; + case to_underlying(Fields::kExtendedPanIdPresent): + ReturnErrorOnFailure(DataModel::Decode(reader, extendedPanIdPresent)); + break; + case to_underlying(Fields::kMeshLocalPrefixPresent): + ReturnErrorOnFailure(DataModel::Decode(reader, meshLocalPrefixPresent)); + break; + case to_underlying(Fields::kDelayPresent): + ReturnErrorOnFailure(DataModel::Decode(reader, delayPresent)); + break; + case to_underlying(Fields::kPanIdPresent): + ReturnErrorOnFailure(DataModel::Decode(reader, panIdPresent)); + break; + case to_underlying(Fields::kChannelPresent): + ReturnErrorOnFailure(DataModel::Decode(reader, channelPresent)); + break; + case to_underlying(Fields::kPskcPresent): + ReturnErrorOnFailure(DataModel::Decode(reader, pskcPresent)); + break; + case to_underlying(Fields::kSecurityPolicyPresent): + ReturnErrorOnFailure(DataModel::Decode(reader, securityPolicyPresent)); + break; + case to_underlying(Fields::kChannelMaskPresent): + ReturnErrorOnFailure(DataModel::Decode(reader, channelMaskPresent)); break; default: break; @@ -7088,190 +7015,94 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace DownloadError. -} // namespace Events -} // namespace OtaSoftwareUpdateRequestor -namespace LocalizationConfiguration { - -namespace Commands { -} // namespace Commands +} // namespace OperationalDatasetComponents +namespace RouteTable { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kExtAddress)), extAddress)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRloc16)), rloc16)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRouterId)), routerId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNextHop)), nextHop)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPathCost)), pathCost)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLQIIn)), LQIIn)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLQIOut)), LQIOut)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAge)), age)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAllocated)), allocated)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLinkEstablished)), linkEstablished)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::ActiveLocale::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, activeLocale)); - break; - case Attributes::SupportedLocales::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, supportedLocales)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kExtAddress): + ReturnErrorOnFailure(DataModel::Decode(reader, extAddress)); + break; + case to_underlying(Fields::kRloc16): + ReturnErrorOnFailure(DataModel::Decode(reader, rloc16)); + break; + case to_underlying(Fields::kRouterId): + ReturnErrorOnFailure(DataModel::Decode(reader, routerId)); + break; + case to_underlying(Fields::kNextHop): + ReturnErrorOnFailure(DataModel::Decode(reader, nextHop)); + break; + case to_underlying(Fields::kPathCost): + ReturnErrorOnFailure(DataModel::Decode(reader, pathCost)); + break; + case to_underlying(Fields::kLQIIn): + ReturnErrorOnFailure(DataModel::Decode(reader, LQIIn)); + break; + case to_underlying(Fields::kLQIOut): + ReturnErrorOnFailure(DataModel::Decode(reader, LQIOut)); + break; + case to_underlying(Fields::kAge): + ReturnErrorOnFailure(DataModel::Decode(reader, age)); + break; + case to_underlying(Fields::kAllocated): + ReturnErrorOnFailure(DataModel::Decode(reader, allocated)); + break; + case to_underlying(Fields::kLinkEstablished): + ReturnErrorOnFailure(DataModel::Decode(reader, linkEstablished)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace Attributes -namespace Events { -} // namespace Events - -} // namespace LocalizationConfiguration -namespace TimeFormatLocalization { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::HourFormat::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, hourFormat)); - break; - case Attributes::ActiveCalendarType::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, activeCalendarType)); - break; - case Attributes::SupportedCalendarTypes::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, supportedCalendarTypes)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace TimeFormatLocalization -namespace UnitLocalization { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::TemperatureUnit::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, temperatureUnit)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace UnitLocalization -namespace PowerSourceConfiguration { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::Sources::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, sources)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace PowerSourceConfiguration -namespace PowerSource { -namespace Structs { -namespace BatChargeFaultChangeType { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +} // namespace RouteTable +namespace SecurityPolicy { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCurrent)), current)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPrevious)), previous)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRotationTime)), rotationTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFlags)), flags)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -7291,11 +7122,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCurrent): - ReturnErrorOnFailure(DataModel::Decode(reader, current)); + case to_underlying(Fields::kRotationTime): + ReturnErrorOnFailure(DataModel::Decode(reader, rotationTime)); break; - case to_underlying(Fields::kPrevious): - ReturnErrorOnFailure(DataModel::Decode(reader, previous)); + case to_underlying(Fields::kFlags): + ReturnErrorOnFailure(DataModel::Decode(reader, flags)); break; default: break; @@ -7308,58 +7139,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) return CHIP_NO_ERROR; } -} // namespace BatChargeFaultChangeType -namespace BatFaultChangeType { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCurrent)), current)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPrevious)), previous)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kCurrent): - ReturnErrorOnFailure(DataModel::Decode(reader, current)); - break; - case to_underlying(Fields::kPrevious): - ReturnErrorOnFailure(DataModel::Decode(reader, previous)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - - return CHIP_NO_ERROR; -} +} // namespace SecurityPolicy +} // namespace Structs -} // namespace BatFaultChangeType -namespace WiredFaultChangeType { +namespace Commands { +namespace ResetCounts { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCurrent)), current)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPrevious)), previous)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -7369,8 +7157,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -7379,12 +7166,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCurrent): - ReturnErrorOnFailure(DataModel::Decode(reader, current)); - break; - case to_underlying(Fields::kPrevious): - ReturnErrorOnFailure(DataModel::Decode(reader, previous)); - break; default: break; } @@ -7392,14 +7173,9 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace WiredFaultChangeType -} // namespace Structs - -namespace Commands { +} // namespace ResetCounts. } // namespace Commands namespace Attributes { @@ -7407,98 +7183,194 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::Status::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); + case Attributes::Channel::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, channel)); break; - case Attributes::Order::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, order)); + case Attributes::RoutingRole::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, routingRole)); break; - case Attributes::Description::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, description)); + case Attributes::NetworkName::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, networkName)); break; - case Attributes::WiredAssessedInputVoltage::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, wiredAssessedInputVoltage)); + case Attributes::PanId::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, panId)); break; - case Attributes::WiredAssessedInputFrequency::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, wiredAssessedInputFrequency)); + case Attributes::ExtendedPanId::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, extendedPanId)); break; - case Attributes::WiredCurrentType::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, wiredCurrentType)); + case Attributes::MeshLocalPrefix::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, meshLocalPrefix)); break; - case Attributes::WiredAssessedCurrent::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, wiredAssessedCurrent)); + case Attributes::OverrunCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, overrunCount)); break; - case Attributes::WiredNominalVoltage::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, wiredNominalVoltage)); + case Attributes::NeighborTableList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, neighborTableList)); break; - case Attributes::WiredMaximumCurrent::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, wiredMaximumCurrent)); + case Attributes::RouteTableList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, routeTableList)); break; - case Attributes::WiredPresent::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, wiredPresent)); + case Attributes::PartitionId::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, partitionId)); break; - case Attributes::ActiveWiredFaults::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, activeWiredFaults)); + case Attributes::Weighting::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, weighting)); break; - case Attributes::BatVoltage::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batVoltage)); + case Attributes::DataVersion::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, dataVersion)); break; - case Attributes::BatPercentRemaining::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batPercentRemaining)); + case Attributes::StableDataVersion::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, stableDataVersion)); break; - case Attributes::BatTimeRemaining::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batTimeRemaining)); + case Attributes::LeaderRouterId::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, leaderRouterId)); break; - case Attributes::BatChargeLevel::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batChargeLevel)); + case Attributes::DetachedRoleCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, detachedRoleCount)); break; - case Attributes::BatReplacementNeeded::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batReplacementNeeded)); + case Attributes::ChildRoleCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, childRoleCount)); break; - case Attributes::BatReplaceability::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batReplaceability)); + case Attributes::RouterRoleCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, routerRoleCount)); break; - case Attributes::BatPresent::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batPresent)); + case Attributes::LeaderRoleCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, leaderRoleCount)); break; - case Attributes::ActiveBatFaults::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, activeBatFaults)); + case Attributes::AttachAttemptCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attachAttemptCount)); break; - case Attributes::BatReplacementDescription::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batReplacementDescription)); + case Attributes::PartitionIdChangeCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, partitionIdChangeCount)); break; - case Attributes::BatCommonDesignation::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batCommonDesignation)); + case Attributes::BetterPartitionAttachAttemptCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, betterPartitionAttachAttemptCount)); break; - case Attributes::BatANSIDesignation::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batANSIDesignation)); + case Attributes::ParentChangeCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, parentChangeCount)); break; - case Attributes::BatIECDesignation::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batIECDesignation)); + case Attributes::TxTotalCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txTotalCount)); break; - case Attributes::BatApprovedChemistry::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batApprovedChemistry)); + case Attributes::TxUnicastCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txUnicastCount)); break; - case Attributes::BatCapacity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batCapacity)); + case Attributes::TxBroadcastCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txBroadcastCount)); break; - case Attributes::BatQuantity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batQuantity)); + case Attributes::TxAckRequestedCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txAckRequestedCount)); break; - case Attributes::BatChargeState::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batChargeState)); + case Attributes::TxAckedCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txAckedCount)); break; - case Attributes::BatTimeToFullCharge::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batTimeToFullCharge)); + case Attributes::TxNoAckRequestedCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txNoAckRequestedCount)); break; - case Attributes::BatFunctionalWhileCharging::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batFunctionalWhileCharging)); + case Attributes::TxDataCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txDataCount)); break; - case Attributes::BatChargingCurrent::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, batChargingCurrent)); + case Attributes::TxDataPollCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txDataPollCount)); break; - case Attributes::ActiveBatChargeFaults::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, activeBatChargeFaults)); + case Attributes::TxBeaconCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txBeaconCount)); + break; + case Attributes::TxBeaconRequestCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txBeaconRequestCount)); + break; + case Attributes::TxOtherCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txOtherCount)); + break; + case Attributes::TxRetryCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txRetryCount)); + break; + case Attributes::TxDirectMaxRetryExpiryCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txDirectMaxRetryExpiryCount)); + break; + case Attributes::TxIndirectMaxRetryExpiryCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txIndirectMaxRetryExpiryCount)); + break; + case Attributes::TxErrCcaCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txErrCcaCount)); + break; + case Attributes::TxErrAbortCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txErrAbortCount)); + break; + case Attributes::TxErrBusyChannelCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txErrBusyChannelCount)); + break; + case Attributes::RxTotalCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rxTotalCount)); + break; + case Attributes::RxUnicastCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rxUnicastCount)); + break; + case Attributes::RxBroadcastCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rxBroadcastCount)); + break; + case Attributes::RxDataCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rxDataCount)); + break; + case Attributes::RxDataPollCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rxDataPollCount)); + break; + case Attributes::RxBeaconCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rxBeaconCount)); + break; + case Attributes::RxBeaconRequestCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rxBeaconRequestCount)); + break; + case Attributes::RxOtherCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rxOtherCount)); + break; + case Attributes::RxAddressFilteredCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rxAddressFilteredCount)); + break; + case Attributes::RxDestAddrFilteredCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rxDestAddrFilteredCount)); + break; + case Attributes::RxDuplicatedCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rxDuplicatedCount)); + break; + case Attributes::RxErrNoFrameCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rxErrNoFrameCount)); + break; + case Attributes::RxErrUnknownNeighborCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rxErrUnknownNeighborCount)); + break; + case Attributes::RxErrInvalidSrcAddrCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rxErrInvalidSrcAddrCount)); + break; + case Attributes::RxErrSecCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rxErrSecCount)); + break; + case Attributes::RxErrFcsCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rxErrFcsCount)); + break; + case Attributes::RxErrOtherCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rxErrOtherCount)); + break; + case Attributes::ActiveTimestamp::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, activeTimestamp)); + break; + case Attributes::PendingTimestamp::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, pendingTimestamp)); + break; + case Attributes::Delay::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, delay)); + break; + case Attributes::SecurityPolicy::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, securityPolicy)); + break; + case Attributes::ChannelMask::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, channelMask)); + break; + case Attributes::OperationalDatasetComponents::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, operationalDatasetComponents)); + break; + case Attributes::ActiveNetworkFaultsList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, activeNetworkFaultsList)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -7524,20 +7396,12 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre } // namespace Attributes namespace Events { -} // namespace Events - -} // namespace PowerSource -namespace GeneralCommissioning { -namespace Structs { -namespace BasicCommissioningInfo { +namespace ConnectionStatus { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFailSafeExpiryLengthSeconds)), - failSafeExpiryLengthSeconds)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMaxCumulativeFailsafeSeconds)), - maxCumulativeFailsafeSeconds)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kConnectionStatus)), connectionStatus)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -7547,8 +7411,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -7557,11 +7420,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kFailSafeExpiryLengthSeconds): - ReturnErrorOnFailure(DataModel::Decode(reader, failSafeExpiryLengthSeconds)); - break; - case to_underlying(Fields::kMaxCumulativeFailsafeSeconds): - ReturnErrorOnFailure(DataModel::Decode(reader, maxCumulativeFailsafeSeconds)); + case to_underlying(Fields::kConnectionStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, connectionStatus)); break; default: break; @@ -7570,22 +7430,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } +} // namespace ConnectionStatus. +} // namespace Events -} // namespace BasicCommissioningInfo -} // namespace Structs +} // namespace ThreadNetworkDiagnostics +namespace WiFiNetworkDiagnostics { namespace Commands { -namespace ArmFailSafe { +namespace ResetCounts { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kExpiryLengthSeconds)), expiryLengthSeconds)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBreadcrumb)), breadcrumb)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -7604,12 +7462,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kExpiryLengthSeconds): - ReturnErrorOnFailure(DataModel::Decode(reader, expiryLengthSeconds)); - break; - case to_underlying(Fields::kBreadcrumb): - ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); - break; default: break; } @@ -7619,57 +7471,83 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ArmFailSafe. -namespace ArmFailSafeResponse { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kErrorCode)), errorCode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDebugText)), debugText)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} +} // namespace ResetCounts. +} // namespace Commands -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) + switch (path.mAttributeId) { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kErrorCode): - ReturnErrorOnFailure(DataModel::Decode(reader, errorCode)); - break; - case to_underlying(Fields::kDebugText): - ReturnErrorOnFailure(DataModel::Decode(reader, debugText)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace ArmFailSafeResponse. -namespace SetRegulatoryConfig { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewRegulatoryConfig)), newRegulatoryConfig)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCountryCode)), countryCode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBreadcrumb)), breadcrumb)); + case Attributes::Bssid::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, bssid)); + break; + case Attributes::SecurityType::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, securityType)); + break; + case Attributes::WiFiVersion::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, wiFiVersion)); + break; + case Attributes::ChannelNumber::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, channelNumber)); + break; + case Attributes::Rssi::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rssi)); + break; + case Attributes::BeaconLostCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, beaconLostCount)); + break; + case Attributes::BeaconRxCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, beaconRxCount)); + break; + case Attributes::PacketMulticastRxCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, packetMulticastRxCount)); + break; + case Attributes::PacketMulticastTxCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, packetMulticastTxCount)); + break; + case Attributes::PacketUnicastRxCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, packetUnicastRxCount)); + break; + case Attributes::PacketUnicastTxCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, packetUnicastTxCount)); + break; + case Attributes::CurrentMaxRate::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentMaxRate)); + break; + case Attributes::OverrunCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, overrunCount)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; + } + + return CHIP_NO_ERROR; +} +} // namespace Attributes + +namespace Events { +namespace Disconnection { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kReasonCode)), reasonCode)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -7688,14 +7566,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNewRegulatoryConfig): - ReturnErrorOnFailure(DataModel::Decode(reader, newRegulatoryConfig)); - break; - case to_underlying(Fields::kCountryCode): - ReturnErrorOnFailure(DataModel::Decode(reader, countryCode)); - break; - case to_underlying(Fields::kBreadcrumb): - ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); + case to_underlying(Fields::kReasonCode): + ReturnErrorOnFailure(DataModel::Decode(reader, reasonCode)); break; default: break; @@ -7706,14 +7578,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SetRegulatoryConfig. -namespace SetRegulatoryConfigResponse { +} // namespace Disconnection. +namespace AssociationFailure { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kErrorCode)), errorCode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDebugText)), debugText)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAssociationFailure)), associationFailure)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -7732,11 +7605,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kErrorCode): - ReturnErrorOnFailure(DataModel::Decode(reader, errorCode)); + case to_underlying(Fields::kAssociationFailure): + ReturnErrorOnFailure(DataModel::Decode(reader, associationFailure)); break; - case to_underlying(Fields::kDebugText): - ReturnErrorOnFailure(DataModel::Decode(reader, debugText)); + case to_underlying(Fields::kStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, status)); break; default: break; @@ -7747,12 +7620,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SetRegulatoryConfigResponse. -namespace CommissioningComplete { +} // namespace AssociationFailure. +namespace ConnectionStatus { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kConnectionStatus)), connectionStatus)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -7771,6 +7645,9 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kConnectionStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, connectionStatus)); + break; default: break; } @@ -7780,14 +7657,18 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace CommissioningComplete. -namespace CommissioningCompleteResponse { +} // namespace ConnectionStatus. +} // namespace Events + +} // namespace WiFiNetworkDiagnostics +namespace EthernetNetworkDiagnostics { + +namespace Commands { +namespace ResetCounts { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kErrorCode)), errorCode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDebugText)), debugText)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -7806,12 +7687,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kErrorCode): - ReturnErrorOnFailure(DataModel::Decode(reader, errorCode)); - break; - case to_underlying(Fields::kDebugText): - ReturnErrorOnFailure(DataModel::Decode(reader, debugText)); - break; default: break; } @@ -7821,7 +7696,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace CommissioningCompleteResponse. +} // namespace ResetCounts. } // namespace Commands namespace Attributes { @@ -7829,20 +7704,32 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::Breadcrumb::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); + case Attributes::PHYRate::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, PHYRate)); break; - case Attributes::BasicCommissioningInfo::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, basicCommissioningInfo)); + case Attributes::FullDuplex::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, fullDuplex)); break; - case Attributes::RegulatoryConfig::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, regulatoryConfig)); + case Attributes::PacketRxCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, packetRxCount)); break; - case Attributes::LocationCapability::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, locationCapability)); + case Attributes::PacketTxCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, packetTxCount)); break; - case Attributes::SupportsConcurrentConnection::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, supportsConcurrentConnection)); + case Attributes::TxErrCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, txErrCount)); + break; + case Attributes::CollisionCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, collisionCount)); + break; + case Attributes::OverrunCount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, overrunCount)); + break; + case Attributes::CarrierDetect::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, carrierDetect)); + break; + case Attributes::TimeSinceReset::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, timeSinceReset)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -7870,132 +7757,129 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events { } // namespace Events -} // namespace GeneralCommissioning -namespace NetworkCommissioning { -namespace Structs { -namespace NetworkInfo { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkID)), networkID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kConnected)), connected)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} +} // namespace EthernetNetworkDiagnostics +namespace TimeSynchronization { -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +namespace Commands { +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); - while ((err = reader.Next()) == CHIP_NO_ERROR) + switch (path.mAttributeId) { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kNetworkID): - ReturnErrorOnFailure(DataModel::Decode(reader, networkID)); - break; - case to_underlying(Fields::kConnected): - ReturnErrorOnFailure(DataModel::Decode(reader, connected)); - break; - default: - break; - } + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } +} // namespace Attributes -} // namespace NetworkInfo -namespace ThreadInterfaceScanResult { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPanId)), panId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kExtendedPanId)), extendedPanId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkName)), networkName)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kChannel)), channel)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kVersion)), version)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kExtendedAddress)), extendedAddress)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRssi)), rssi)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLqi)), lqi)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} +namespace Events { +} // namespace Events -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +} // namespace TimeSynchronization +namespace BridgedDeviceBasic { + +namespace Commands { +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); - while ((err = reader.Next()) == CHIP_NO_ERROR) + switch (path.mAttributeId) { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kPanId): - ReturnErrorOnFailure(DataModel::Decode(reader, panId)); - break; - case to_underlying(Fields::kExtendedPanId): - ReturnErrorOnFailure(DataModel::Decode(reader, extendedPanId)); - break; - case to_underlying(Fields::kNetworkName): - ReturnErrorOnFailure(DataModel::Decode(reader, networkName)); - break; - case to_underlying(Fields::kChannel): - ReturnErrorOnFailure(DataModel::Decode(reader, channel)); - break; - case to_underlying(Fields::kVersion): - ReturnErrorOnFailure(DataModel::Decode(reader, version)); - break; - case to_underlying(Fields::kExtendedAddress): - ReturnErrorOnFailure(DataModel::Decode(reader, extendedAddress)); - break; - case to_underlying(Fields::kRssi): - ReturnErrorOnFailure(DataModel::Decode(reader, rssi)); - break; - case to_underlying(Fields::kLqi): - ReturnErrorOnFailure(DataModel::Decode(reader, lqi)); - break; - default: - break; - } + case Attributes::VendorName::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, vendorName)); + break; + case Attributes::VendorID::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, vendorID)); + break; + case Attributes::ProductName::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, productName)); + break; + case Attributes::NodeLabel::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, nodeLabel)); + break; + case Attributes::HardwareVersion::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, hardwareVersion)); + break; + case Attributes::HardwareVersionString::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, hardwareVersionString)); + break; + case Attributes::SoftwareVersion::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); + break; + case Attributes::SoftwareVersionString::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersionString)); + break; + case Attributes::ManufacturingDate::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, manufacturingDate)); + break; + case Attributes::PartNumber::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, partNumber)); + break; + case Attributes::ProductURL::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, productURL)); + break; + case Attributes::ProductLabel::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, productLabel)); + break; + case Attributes::SerialNumber::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, serialNumber)); + break; + case Attributes::Reachable::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, reachable)); + break; + case Attributes::UniqueID::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, uniqueID)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } +} // namespace Attributes -} // namespace ThreadInterfaceScanResult -namespace WiFiInterfaceScanResult { +namespace Events { +namespace StartUp { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSecurity)), security)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSsid)), ssid)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBssid)), bssid)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kChannel)), channel)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kWiFiBand)), wiFiBand)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRssi)), rssi)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSoftwareVersion)), softwareVersion)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8005,8 +7889,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -8015,23 +7898,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kSecurity): - ReturnErrorOnFailure(DataModel::Decode(reader, security)); - break; - case to_underlying(Fields::kSsid): - ReturnErrorOnFailure(DataModel::Decode(reader, ssid)); - break; - case to_underlying(Fields::kBssid): - ReturnErrorOnFailure(DataModel::Decode(reader, bssid)); - break; - case to_underlying(Fields::kChannel): - ReturnErrorOnFailure(DataModel::Decode(reader, channel)); - break; - case to_underlying(Fields::kWiFiBand): - ReturnErrorOnFailure(DataModel::Decode(reader, wiFiBand)); - break; - case to_underlying(Fields::kRssi): - ReturnErrorOnFailure(DataModel::Decode(reader, rssi)); + case to_underlying(Fields::kSoftwareVersion): + ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); break; default: break; @@ -8040,21 +7908,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace WiFiInterfaceScanResult -} // namespace Structs - -namespace Commands { -namespace ScanNetworks { +} // namespace StartUp. +namespace ShutDown { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSsid)), ssid)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBreadcrumb)), breadcrumb)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8073,12 +7934,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kSsid): - ReturnErrorOnFailure(DataModel::Decode(reader, ssid)); - break; - case to_underlying(Fields::kBreadcrumb): - ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); - break; default: break; } @@ -8088,16 +7943,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ScanNetworks. -namespace ScanNetworksResponse { +} // namespace ShutDown. +namespace Leave { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkingStatus)), networkingStatus)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDebugText)), debugText)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kWiFiScanResults)), wiFiScanResults)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kThreadScanResults)), threadScanResults)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8116,18 +7967,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNetworkingStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, networkingStatus)); - break; - case to_underlying(Fields::kDebugText): - ReturnErrorOnFailure(DataModel::Decode(reader, debugText)); - break; - case to_underlying(Fields::kWiFiScanResults): - ReturnErrorOnFailure(DataModel::Decode(reader, wiFiScanResults)); - break; - case to_underlying(Fields::kThreadScanResults): - ReturnErrorOnFailure(DataModel::Decode(reader, threadScanResults)); - break; default: break; } @@ -8137,15 +7976,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ScanNetworksResponse. -namespace AddOrUpdateWiFiNetwork { +} // namespace Leave. +namespace ReachableChanged { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSsid)), ssid)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentials)), credentials)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBreadcrumb)), breadcrumb)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kReachableNewValue)), reachableNewValue)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8164,14 +8001,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kSsid): - ReturnErrorOnFailure(DataModel::Decode(reader, ssid)); - break; - case to_underlying(Fields::kCredentials): - ReturnErrorOnFailure(DataModel::Decode(reader, credentials)); - break; - case to_underlying(Fields::kBreadcrumb): - ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); + case to_underlying(Fields::kReachableNewValue): + ReturnErrorOnFailure(DataModel::Decode(reader, reachableNewValue)); break; default: break; @@ -8182,15 +8013,59 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace AddOrUpdateWiFiNetwork. -namespace AddOrUpdateThreadNetwork { +} // namespace ReachableChanged. +} // namespace Events + +} // namespace BridgedDeviceBasic +namespace Switch { + +namespace Commands { +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::NumberOfPositions::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, numberOfPositions)); + break; + case Attributes::CurrentPosition::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentPosition)); + break; + case Attributes::MultiPressMax::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, multiPressMax)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; + } + + return CHIP_NO_ERROR; +} +} // namespace Attributes + +namespace Events { +namespace SwitchLatched { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperationalDataset)), operationalDataset)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBreadcrumb)), breadcrumb)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewPosition)), newPosition)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8209,11 +8084,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kOperationalDataset): - ReturnErrorOnFailure(DataModel::Decode(reader, operationalDataset)); - break; - case to_underlying(Fields::kBreadcrumb): - ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); + case to_underlying(Fields::kNewPosition): + ReturnErrorOnFailure(DataModel::Decode(reader, newPosition)); break; default: break; @@ -8224,14 +8096,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace AddOrUpdateThreadNetwork. -namespace RemoveNetwork { +} // namespace SwitchLatched. +namespace InitialPress { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkID)), networkID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBreadcrumb)), breadcrumb)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewPosition)), newPosition)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8250,11 +8121,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNetworkID): - ReturnErrorOnFailure(DataModel::Decode(reader, networkID)); - break; - case to_underlying(Fields::kBreadcrumb): - ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); + case to_underlying(Fields::kNewPosition): + ReturnErrorOnFailure(DataModel::Decode(reader, newPosition)); break; default: break; @@ -8265,15 +8133,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace RemoveNetwork. -namespace NetworkConfigResponse { +} // namespace InitialPress. +namespace LongPress { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkingStatus)), networkingStatus)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDebugText)), debugText)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkIndex)), networkIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewPosition)), newPosition)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8292,14 +8158,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNetworkingStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, networkingStatus)); - break; - case to_underlying(Fields::kDebugText): - ReturnErrorOnFailure(DataModel::Decode(reader, debugText)); - break; - case to_underlying(Fields::kNetworkIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, networkIndex)); + case to_underlying(Fields::kNewPosition): + ReturnErrorOnFailure(DataModel::Decode(reader, newPosition)); break; default: break; @@ -8310,14 +8170,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace NetworkConfigResponse. -namespace ConnectNetwork { +} // namespace LongPress. +namespace ShortRelease { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkID)), networkID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBreadcrumb)), breadcrumb)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPreviousPosition)), previousPosition)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8336,11 +8195,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNetworkID): - ReturnErrorOnFailure(DataModel::Decode(reader, networkID)); - break; - case to_underlying(Fields::kBreadcrumb): - ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); + case to_underlying(Fields::kPreviousPosition): + ReturnErrorOnFailure(DataModel::Decode(reader, previousPosition)); break; default: break; @@ -8351,15 +8207,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ConnectNetwork. -namespace ConnectNetworkResponse { +} // namespace ShortRelease. +namespace LongRelease { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkingStatus)), networkingStatus)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDebugText)), debugText)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kErrorValue)), errorValue)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPreviousPosition)), previousPosition)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8378,14 +8232,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNetworkingStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, networkingStatus)); - break; - case to_underlying(Fields::kDebugText): - ReturnErrorOnFailure(DataModel::Decode(reader, debugText)); - break; - case to_underlying(Fields::kErrorValue): - ReturnErrorOnFailure(DataModel::Decode(reader, errorValue)); + case to_underlying(Fields::kPreviousPosition): + ReturnErrorOnFailure(DataModel::Decode(reader, previousPosition)); break; default: break; @@ -8396,15 +8244,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ConnectNetworkResponse. -namespace ReorderNetwork { +} // namespace LongRelease. +namespace MultiPressOngoing { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkID)), networkID)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkIndex)), networkIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBreadcrumb)), breadcrumb)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewPosition)), newPosition)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCurrentNumberOfPressesCounted)), + currentNumberOfPressesCounted)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8423,14 +8271,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNetworkID): - ReturnErrorOnFailure(DataModel::Decode(reader, networkID)); - break; - case to_underlying(Fields::kNetworkIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, networkIndex)); + case to_underlying(Fields::kNewPosition): + ReturnErrorOnFailure(DataModel::Decode(reader, newPosition)); break; - case to_underlying(Fields::kBreadcrumb): - ReturnErrorOnFailure(DataModel::Decode(reader, breadcrumb)); + case to_underlying(Fields::kCurrentNumberOfPressesCounted): + ReturnErrorOnFailure(DataModel::Decode(reader, currentNumberOfPressesCounted)); break; default: break; @@ -8441,77 +8286,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ReorderNetwork. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MaxNetworks::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxNetworks)); - break; - case Attributes::Networks::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, networks)); - break; - case Attributes::ScanMaxTimeSeconds::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, scanMaxTimeSeconds)); - break; - case Attributes::ConnectMaxTimeSeconds::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, connectMaxTimeSeconds)); - break; - case Attributes::InterfaceEnabled::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, interfaceEnabled)); - break; - case Attributes::LastNetworkingStatus::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lastNetworkingStatus)); - break; - case Attributes::LastNetworkID::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lastNetworkID)); - break; - case Attributes::LastConnectErrorValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lastConnectErrorValue)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace NetworkCommissioning -namespace DiagnosticLogs { - -namespace Commands { -namespace RetrieveLogsRequest { +} // namespace MultiPressOngoing. +namespace MultiPressComplete { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIntent)), intent)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRequestedProtocol)), requestedProtocol)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransferFileDesignator)), transferFileDesignator)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewPosition)), newPosition)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTotalNumberOfPressesCounted)), + totalNumberOfPressesCounted)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8530,14 +8313,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kIntent): - ReturnErrorOnFailure(DataModel::Decode(reader, intent)); - break; - case to_underlying(Fields::kRequestedProtocol): - ReturnErrorOnFailure(DataModel::Decode(reader, requestedProtocol)); + case to_underlying(Fields::kNewPosition): + ReturnErrorOnFailure(DataModel::Decode(reader, newPosition)); break; - case to_underlying(Fields::kTransferFileDesignator): - ReturnErrorOnFailure(DataModel::Decode(reader, transferFileDesignator)); + case to_underlying(Fields::kTotalNumberOfPressesCounted): + ReturnErrorOnFailure(DataModel::Decode(reader, totalNumberOfPressesCounted)); break; default: break; @@ -8548,16 +8328,24 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace RetrieveLogsRequest. -namespace RetrieveLogsResponse { +} // namespace MultiPressComplete. +} // namespace Events + +} // namespace Switch +namespace AdministratorCommissioning { + +namespace Commands { +namespace OpenCommissioningWindow { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kContent)), content)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTimeStamp)), timeStamp)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTimeSinceBoot)), timeSinceBoot)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCommissioningTimeout)), commissioningTimeout)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPAKEVerifier)), PAKEVerifier)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDiscriminator)), discriminator)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIterations)), iterations)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSalt)), salt)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8576,17 +8364,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); + case to_underlying(Fields::kCommissioningTimeout): + ReturnErrorOnFailure(DataModel::Decode(reader, commissioningTimeout)); break; - case to_underlying(Fields::kContent): - ReturnErrorOnFailure(DataModel::Decode(reader, content)); + case to_underlying(Fields::kPAKEVerifier): + ReturnErrorOnFailure(DataModel::Decode(reader, PAKEVerifier)); break; - case to_underlying(Fields::kTimeStamp): - ReturnErrorOnFailure(DataModel::Decode(reader, timeStamp)); + case to_underlying(Fields::kDiscriminator): + ReturnErrorOnFailure(DataModel::Decode(reader, discriminator)); break; - case to_underlying(Fields::kTimeSinceBoot): - ReturnErrorOnFailure(DataModel::Decode(reader, timeSinceBoot)); + case to_underlying(Fields::kIterations): + ReturnErrorOnFailure(DataModel::Decode(reader, iterations)); + break; + case to_underlying(Fields::kSalt): + ReturnErrorOnFailure(DataModel::Decode(reader, salt)); break; default: break; @@ -8597,58 +8388,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace RetrieveLogsResponse. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace DiagnosticLogs -namespace GeneralDiagnostics { -namespace Structs { -namespace NetworkInterfaceType { +} // namespace OpenCommissioningWindow. +namespace OpenBasicCommissioningWindow { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIsOperational)), isOperational)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOffPremiseServicesReachableIPv4)), - offPremiseServicesReachableIPv4)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOffPremiseServicesReachableIPv6)), - offPremiseServicesReachableIPv6)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHardwareAddress)), hardwareAddress)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIPv4Addresses)), IPv4Addresses)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIPv6Addresses)), IPv6Addresses)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kType)), type)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCommissioningTimeout)), commissioningTimeout)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8658,8 +8405,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -8668,29 +8414,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kName): - ReturnErrorOnFailure(DataModel::Decode(reader, name)); - break; - case to_underlying(Fields::kIsOperational): - ReturnErrorOnFailure(DataModel::Decode(reader, isOperational)); - break; - case to_underlying(Fields::kOffPremiseServicesReachableIPv4): - ReturnErrorOnFailure(DataModel::Decode(reader, offPremiseServicesReachableIPv4)); - break; - case to_underlying(Fields::kOffPremiseServicesReachableIPv6): - ReturnErrorOnFailure(DataModel::Decode(reader, offPremiseServicesReachableIPv6)); - break; - case to_underlying(Fields::kHardwareAddress): - ReturnErrorOnFailure(DataModel::Decode(reader, hardwareAddress)); - break; - case to_underlying(Fields::kIPv4Addresses): - ReturnErrorOnFailure(DataModel::Decode(reader, IPv4Addresses)); - break; - case to_underlying(Fields::kIPv6Addresses): - ReturnErrorOnFailure(DataModel::Decode(reader, IPv6Addresses)); - break; - case to_underlying(Fields::kType): - ReturnErrorOnFailure(DataModel::Decode(reader, type)); + case to_underlying(Fields::kCommissioningTimeout): + ReturnErrorOnFailure(DataModel::Decode(reader, commissioningTimeout)); break; default: break; @@ -8699,21 +8424,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace NetworkInterfaceType -} // namespace Structs - -namespace Commands { -namespace TestEventTrigger { +} // namespace OpenBasicCommissioningWindow. +namespace RevokeCommissioning { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEnableKey)), enableKey)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEventTrigger)), eventTrigger)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8732,12 +8450,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kEnableKey): - ReturnErrorOnFailure(DataModel::Decode(reader, enableKey)); - break; - case to_underlying(Fields::kEventTrigger): - ReturnErrorOnFailure(DataModel::Decode(reader, eventTrigger)); - break; default: break; } @@ -8747,7 +8459,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace TestEventTrigger. +} // namespace RevokeCommissioning. } // namespace Commands namespace Attributes { @@ -8755,32 +8467,14 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::NetworkInterfaces::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, networkInterfaces)); - break; - case Attributes::RebootCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rebootCount)); - break; - case Attributes::UpTime::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, upTime)); - break; - case Attributes::TotalOperationalHours::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, totalOperationalHours)); - break; - case Attributes::BootReasons::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, bootReasons)); - break; - case Attributes::ActiveHardwareFaults::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, activeHardwareFaults)); - break; - case Attributes::ActiveRadioFaults::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, activeRadioFaults)); + case Attributes::WindowStatus::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, windowStatus)); break; - case Attributes::ActiveNetworkFaults::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, activeNetworkFaults)); + case Attributes::AdminFabricIndex::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, adminFabricIndex)); break; - case Attributes::TestEventTriggersEnabled::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, testEventTriggersEnabled)); + case Attributes::AdminVendorId::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, adminVendorId)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -8806,13 +8500,35 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre } // namespace Attributes namespace Events { -namespace HardwareFaultChange { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +} // namespace Events + +} // namespace AdministratorCommissioning +namespace OperationalCredentials { +namespace Structs { +namespace FabricDescriptor { +CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + return DoEncode(writer, tag, NullOptional); +} + +CHIP_ERROR Type::EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const +{ + return DoEncode(writer, tag, MakeOptional(accessingFabricIndex)); +} + +CHIP_ERROR Type::DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCurrent)), current)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPrevious)), previous)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRootPublicKey)), rootPublicKey)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kVendorId)), vendorId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricId)), fabricId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNodeId)), nodeId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLabel)), label)); + if (accessingFabricIndex.HasValue()) + { + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); + } ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8822,7 +8538,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -8831,11 +8548,23 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCurrent): - ReturnErrorOnFailure(DataModel::Decode(reader, current)); + case to_underlying(Fields::kRootPublicKey): + ReturnErrorOnFailure(DataModel::Decode(reader, rootPublicKey)); break; - case to_underlying(Fields::kPrevious): - ReturnErrorOnFailure(DataModel::Decode(reader, previous)); + case to_underlying(Fields::kVendorId): + ReturnErrorOnFailure(DataModel::Decode(reader, vendorId)); + break; + case to_underlying(Fields::kFabricId): + ReturnErrorOnFailure(DataModel::Decode(reader, fabricId)); + break; + case to_underlying(Fields::kNodeId): + ReturnErrorOnFailure(DataModel::Decode(reader, nodeId)); + break; + case to_underlying(Fields::kLabel): + ReturnErrorOnFailure(DataModel::Decode(reader, label)); + break; + case to_underlying(Fields::kFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); break; default: break; @@ -8844,16 +8573,39 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace HardwareFaultChange. -namespace RadioFaultChange { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const + +} // namespace FabricDescriptor +namespace NOCStruct { +CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + return DoEncode(writer, tag, NullOptional); +} + +CHIP_ERROR Type::EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const +{ + return DoEncode(writer, tag, MakeOptional(accessingFabricIndex)); +} + +CHIP_ERROR Type::DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const { + bool includeSensitive = !accessingFabricIndex.HasValue() || (accessingFabricIndex.Value() == fabricIndex); TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCurrent)), current)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPrevious)), previous)); + if (includeSensitive) + { + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNoc)), noc)); + } + if (includeSensitive) + { + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIcac)), icac)); + } + if (accessingFabricIndex.HasValue()) + { + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); + } ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8863,7 +8615,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -8872,11 +8625,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCurrent): - ReturnErrorOnFailure(DataModel::Decode(reader, current)); + case to_underlying(Fields::kNoc): + ReturnErrorOnFailure(DataModel::Decode(reader, noc)); break; - case to_underlying(Fields::kPrevious): - ReturnErrorOnFailure(DataModel::Decode(reader, previous)); + case to_underlying(Fields::kIcac): + ReturnErrorOnFailure(DataModel::Decode(reader, icac)); + break; + case to_underlying(Fields::kFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); break; default: break; @@ -8885,16 +8641,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace RadioFaultChange. -namespace NetworkFaultChange { + +} // namespace NOCStruct +} // namespace Structs + +namespace Commands { +namespace AttestationRequest { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCurrent)), current)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPrevious)), previous)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAttestationNonce)), attestationNonce)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8913,11 +8673,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCurrent): - ReturnErrorOnFailure(DataModel::Decode(reader, current)); - break; - case to_underlying(Fields::kPrevious): - ReturnErrorOnFailure(DataModel::Decode(reader, previous)); + case to_underlying(Fields::kAttestationNonce): + ReturnErrorOnFailure(DataModel::Decode(reader, attestationNonce)); break; default: break; @@ -8928,13 +8685,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace NetworkFaultChange. -namespace BootReason { +} // namespace AttestationRequest. +namespace AttestationResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBootReason)), bootReason)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAttestationElements)), attestationElements)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSignature)), signature)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8953,8 +8712,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kBootReason): - ReturnErrorOnFailure(DataModel::Decode(reader, bootReason)); + case to_underlying(Fields::kAttestationElements): + ReturnErrorOnFailure(DataModel::Decode(reader, attestationElements)); + break; + case to_underlying(Fields::kSignature): + ReturnErrorOnFailure(DataModel::Decode(reader, signature)); break; default: break; @@ -8965,22 +8727,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace BootReason. -} // namespace Events - -} // namespace GeneralDiagnostics -namespace SoftwareDiagnostics { -namespace Structs { -namespace ThreadMetrics { +} // namespace AttestationResponse. +namespace CertificateChainRequest { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kId)), id)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStackFreeCurrent)), stackFreeCurrent)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStackFreeMinimum)), stackFreeMinimum)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStackSize)), stackSize)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCertificateType)), certificateType)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -8990,8 +8743,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -9000,20 +8752,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kId): - ReturnErrorOnFailure(DataModel::Decode(reader, id)); - break; - case to_underlying(Fields::kName): - ReturnErrorOnFailure(DataModel::Decode(reader, name)); - break; - case to_underlying(Fields::kStackFreeCurrent): - ReturnErrorOnFailure(DataModel::Decode(reader, stackFreeCurrent)); - break; - case to_underlying(Fields::kStackFreeMinimum): - ReturnErrorOnFailure(DataModel::Decode(reader, stackFreeMinimum)); - break; - case to_underlying(Fields::kStackSize): - ReturnErrorOnFailure(DataModel::Decode(reader, stackSize)); + case to_underlying(Fields::kCertificateType): + ReturnErrorOnFailure(DataModel::Decode(reader, certificateType)); break; default: break; @@ -9022,19 +8762,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace ThreadMetrics -} // namespace Structs - -namespace Commands { -namespace ResetWatermarks { +} // namespace CertificateChainRequest. +namespace CertificateChainResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCertificate)), certificate)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -9053,6 +8789,9 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kCertificate): + ReturnErrorOnFailure(DataModel::Decode(reader, certificate)); + break; default: break; } @@ -9062,58 +8801,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ResetWatermarks. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::ThreadMetrics::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, threadMetrics)); - break; - case Attributes::CurrentHeapFree::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentHeapFree)); - break; - case Attributes::CurrentHeapUsed::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentHeapUsed)); - break; - case Attributes::CurrentHeapHighWatermark::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentHeapHighWatermark)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -namespace SoftwareFault { +} // namespace CertificateChainResponse. +namespace CSRRequest { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kId)), id)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFaultRecording)), faultRecording)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCSRNonce)), CSRNonce)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIsForUpdateNOC)), isForUpdateNOC)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -9132,14 +8827,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kId): - ReturnErrorOnFailure(DataModel::Decode(reader, id)); - break; - case to_underlying(Fields::kName): - ReturnErrorOnFailure(DataModel::Decode(reader, name)); + case to_underlying(Fields::kCSRNonce): + ReturnErrorOnFailure(DataModel::Decode(reader, CSRNonce)); break; - case to_underlying(Fields::kFaultRecording): - ReturnErrorOnFailure(DataModel::Decode(reader, faultRecording)); + case to_underlying(Fields::kIsForUpdateNOC): + ReturnErrorOnFailure(DataModel::Decode(reader, isForUpdateNOC)); break; default: break; @@ -9150,31 +8842,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SoftwareFault. -} // namespace Events - -} // namespace SoftwareDiagnostics -namespace ThreadNetworkDiagnostics { -namespace Structs { -namespace NeighborTable { +} // namespace CSRRequest. +namespace CSRResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kExtAddress)), extAddress)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAge)), age)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRloc16)), rloc16)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLinkFrameCounter)), linkFrameCounter)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMleFrameCounter)), mleFrameCounter)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLqi)), lqi)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAverageRssi)), averageRssi)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLastRssi)), lastRssi)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFrameErrorRate)), frameErrorRate)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMessageErrorRate)), messageErrorRate)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRxOnWhenIdle)), rxOnWhenIdle)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFullThreadDevice)), fullThreadDevice)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFullNetworkData)), fullNetworkData)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIsChild)), isChild)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNOCSRElements)), NOCSRElements)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAttestationSignature)), attestationSignature)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -9184,8 +8860,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -9194,47 +8869,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kExtAddress): - ReturnErrorOnFailure(DataModel::Decode(reader, extAddress)); - break; - case to_underlying(Fields::kAge): - ReturnErrorOnFailure(DataModel::Decode(reader, age)); - break; - case to_underlying(Fields::kRloc16): - ReturnErrorOnFailure(DataModel::Decode(reader, rloc16)); - break; - case to_underlying(Fields::kLinkFrameCounter): - ReturnErrorOnFailure(DataModel::Decode(reader, linkFrameCounter)); - break; - case to_underlying(Fields::kMleFrameCounter): - ReturnErrorOnFailure(DataModel::Decode(reader, mleFrameCounter)); - break; - case to_underlying(Fields::kLqi): - ReturnErrorOnFailure(DataModel::Decode(reader, lqi)); - break; - case to_underlying(Fields::kAverageRssi): - ReturnErrorOnFailure(DataModel::Decode(reader, averageRssi)); - break; - case to_underlying(Fields::kLastRssi): - ReturnErrorOnFailure(DataModel::Decode(reader, lastRssi)); - break; - case to_underlying(Fields::kFrameErrorRate): - ReturnErrorOnFailure(DataModel::Decode(reader, frameErrorRate)); - break; - case to_underlying(Fields::kMessageErrorRate): - ReturnErrorOnFailure(DataModel::Decode(reader, messageErrorRate)); - break; - case to_underlying(Fields::kRxOnWhenIdle): - ReturnErrorOnFailure(DataModel::Decode(reader, rxOnWhenIdle)); - break; - case to_underlying(Fields::kFullThreadDevice): - ReturnErrorOnFailure(DataModel::Decode(reader, fullThreadDevice)); - break; - case to_underlying(Fields::kFullNetworkData): - ReturnErrorOnFailure(DataModel::Decode(reader, fullNetworkData)); + case to_underlying(Fields::kNOCSRElements): + ReturnErrorOnFailure(DataModel::Decode(reader, NOCSRElements)); break; - case to_underlying(Fields::kIsChild): - ReturnErrorOnFailure(DataModel::Decode(reader, isChild)); + case to_underlying(Fields::kAttestationSignature): + ReturnErrorOnFailure(DataModel::Decode(reader, attestationSignature)); break; default: break; @@ -9243,35 +8882,19 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace NeighborTable -namespace OperationalDatasetComponents { +} // namespace CSRResponse. +namespace AddNOC { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kActiveTimestampPresent)), activeTimestampPresent)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPendingTimestampPresent)), pendingTimestampPresent)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMasterKeyPresent)), masterKeyPresent)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNetworkNamePresent)), networkNamePresent)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kExtendedPanIdPresent)), extendedPanIdPresent)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMeshLocalPrefixPresent)), meshLocalPrefixPresent)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDelayPresent)), delayPresent)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPanIdPresent)), panIdPresent)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kChannelPresent)), channelPresent)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPskcPresent)), pskcPresent)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSecurityPolicyPresent)), securityPolicyPresent)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kChannelMaskPresent)), channelMaskPresent)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNOCValue)), NOCValue)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kICACValue)), ICACValue)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIPKValue)), IPKValue)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCaseAdminSubject)), caseAdminSubject)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAdminVendorId)), adminVendorId)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -9281,8 +8904,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -9291,41 +8913,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kActiveTimestampPresent): - ReturnErrorOnFailure(DataModel::Decode(reader, activeTimestampPresent)); - break; - case to_underlying(Fields::kPendingTimestampPresent): - ReturnErrorOnFailure(DataModel::Decode(reader, pendingTimestampPresent)); - break; - case to_underlying(Fields::kMasterKeyPresent): - ReturnErrorOnFailure(DataModel::Decode(reader, masterKeyPresent)); - break; - case to_underlying(Fields::kNetworkNamePresent): - ReturnErrorOnFailure(DataModel::Decode(reader, networkNamePresent)); - break; - case to_underlying(Fields::kExtendedPanIdPresent): - ReturnErrorOnFailure(DataModel::Decode(reader, extendedPanIdPresent)); - break; - case to_underlying(Fields::kMeshLocalPrefixPresent): - ReturnErrorOnFailure(DataModel::Decode(reader, meshLocalPrefixPresent)); - break; - case to_underlying(Fields::kDelayPresent): - ReturnErrorOnFailure(DataModel::Decode(reader, delayPresent)); - break; - case to_underlying(Fields::kPanIdPresent): - ReturnErrorOnFailure(DataModel::Decode(reader, panIdPresent)); + case to_underlying(Fields::kNOCValue): + ReturnErrorOnFailure(DataModel::Decode(reader, NOCValue)); break; - case to_underlying(Fields::kChannelPresent): - ReturnErrorOnFailure(DataModel::Decode(reader, channelPresent)); + case to_underlying(Fields::kICACValue): + ReturnErrorOnFailure(DataModel::Decode(reader, ICACValue)); break; - case to_underlying(Fields::kPskcPresent): - ReturnErrorOnFailure(DataModel::Decode(reader, pskcPresent)); + case to_underlying(Fields::kIPKValue): + ReturnErrorOnFailure(DataModel::Decode(reader, IPKValue)); break; - case to_underlying(Fields::kSecurityPolicyPresent): - ReturnErrorOnFailure(DataModel::Decode(reader, securityPolicyPresent)); + case to_underlying(Fields::kCaseAdminSubject): + ReturnErrorOnFailure(DataModel::Decode(reader, caseAdminSubject)); break; - case to_underlying(Fields::kChannelMaskPresent): - ReturnErrorOnFailure(DataModel::Decode(reader, channelMaskPresent)); + case to_underlying(Fields::kAdminVendorId): + ReturnErrorOnFailure(DataModel::Decode(reader, adminVendorId)); break; default: break; @@ -9334,26 +8935,16 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace OperationalDatasetComponents -namespace RouteTable { +} // namespace AddNOC. +namespace UpdateNOC { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kExtAddress)), extAddress)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRloc16)), rloc16)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRouterId)), routerId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNextHop)), nextHop)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPathCost)), pathCost)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLQIIn)), LQIIn)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLQIOut)), LQIOut)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAge)), age)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAllocated)), allocated)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLinkEstablished)), linkEstablished)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNOCValue)), NOCValue)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kICACValue)), ICACValue)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -9363,8 +8954,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -9373,35 +8963,56 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kExtAddress): - ReturnErrorOnFailure(DataModel::Decode(reader, extAddress)); - break; - case to_underlying(Fields::kRloc16): - ReturnErrorOnFailure(DataModel::Decode(reader, rloc16)); - break; - case to_underlying(Fields::kRouterId): - ReturnErrorOnFailure(DataModel::Decode(reader, routerId)); - break; - case to_underlying(Fields::kNextHop): - ReturnErrorOnFailure(DataModel::Decode(reader, nextHop)); - break; - case to_underlying(Fields::kPathCost): - ReturnErrorOnFailure(DataModel::Decode(reader, pathCost)); - break; - case to_underlying(Fields::kLQIIn): - ReturnErrorOnFailure(DataModel::Decode(reader, LQIIn)); + case to_underlying(Fields::kNOCValue): + ReturnErrorOnFailure(DataModel::Decode(reader, NOCValue)); break; - case to_underlying(Fields::kLQIOut): - ReturnErrorOnFailure(DataModel::Decode(reader, LQIOut)); + case to_underlying(Fields::kICACValue): + ReturnErrorOnFailure(DataModel::Decode(reader, ICACValue)); break; - case to_underlying(Fields::kAge): - ReturnErrorOnFailure(DataModel::Decode(reader, age)); + default: break; - case to_underlying(Fields::kAllocated): - ReturnErrorOnFailure(DataModel::Decode(reader, allocated)); + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace UpdateNOC. +namespace NOCResponse { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatusCode)), statusCode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDebugText)), debugText)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kStatusCode): + ReturnErrorOnFailure(DataModel::Decode(reader, statusCode)); break; - case to_underlying(Fields::kLinkEstablished): - ReturnErrorOnFailure(DataModel::Decode(reader, linkEstablished)); + case to_underlying(Fields::kFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); + break; + case to_underlying(Fields::kDebugText): + ReturnErrorOnFailure(DataModel::Decode(reader, debugText)); break; default: break; @@ -9410,18 +9021,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace RouteTable -namespace SecurityPolicy { +} // namespace NOCResponse. +namespace UpdateFabricLabel { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRotationTime)), rotationTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFlags)), flags)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLabel)), label)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -9431,8 +9039,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -9441,11 +9048,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kRotationTime): - ReturnErrorOnFailure(DataModel::Decode(reader, rotationTime)); - break; - case to_underlying(Fields::kFlags): - ReturnErrorOnFailure(DataModel::Decode(reader, flags)); + case to_underlying(Fields::kLabel): + ReturnErrorOnFailure(DataModel::Decode(reader, label)); break; default: break; @@ -9454,19 +9058,52 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - + return CHIP_NO_ERROR; +} +} // namespace UpdateFabricLabel. +namespace RemoveFabric { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SecurityPolicy -} // namespace Structs +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); + break; + default: + break; + } + } -namespace Commands { -namespace ResetCounts { + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace RemoveFabric. +namespace AddTrustedRootCertificate { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRootCertificate)), rootCertificate)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -9485,6 +9122,9 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kRootCertificate): + ReturnErrorOnFailure(DataModel::Decode(reader, rootCertificate)); + break; default: break; } @@ -9494,7 +9134,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ResetCounts. +} // namespace AddTrustedRootCertificate. } // namespace Commands namespace Attributes { @@ -9502,211 +9142,40 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::Channel::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, channel)); - break; - case Attributes::RoutingRole::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, routingRole)); - break; - case Attributes::NetworkName::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, networkName)); - break; - case Attributes::PanId::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, panId)); - break; - case Attributes::ExtendedPanId::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, extendedPanId)); - break; - case Attributes::MeshLocalPrefix::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, meshLocalPrefix)); - break; - case Attributes::OverrunCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, overrunCount)); - break; - case Attributes::NeighborTableList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, neighborTableList)); - break; - case Attributes::RouteTableList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, routeTableList)); - break; - case Attributes::PartitionId::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, partitionId)); - break; - case Attributes::Weighting::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, weighting)); - break; - case Attributes::DataVersion::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, dataVersion)); - break; - case Attributes::StableDataVersion::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, stableDataVersion)); - break; - case Attributes::LeaderRouterId::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, leaderRouterId)); - break; - case Attributes::DetachedRoleCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, detachedRoleCount)); - break; - case Attributes::ChildRoleCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, childRoleCount)); - break; - case Attributes::RouterRoleCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, routerRoleCount)); - break; - case Attributes::LeaderRoleCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, leaderRoleCount)); - break; - case Attributes::AttachAttemptCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attachAttemptCount)); - break; - case Attributes::PartitionIdChangeCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, partitionIdChangeCount)); - break; - case Attributes::BetterPartitionAttachAttemptCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, betterPartitionAttachAttemptCount)); - break; - case Attributes::ParentChangeCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, parentChangeCount)); - break; - case Attributes::TxTotalCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txTotalCount)); - break; - case Attributes::TxUnicastCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txUnicastCount)); - break; - case Attributes::TxBroadcastCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txBroadcastCount)); - break; - case Attributes::TxAckRequestedCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txAckRequestedCount)); - break; - case Attributes::TxAckedCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txAckedCount)); - break; - case Attributes::TxNoAckRequestedCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txNoAckRequestedCount)); - break; - case Attributes::TxDataCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txDataCount)); - break; - case Attributes::TxDataPollCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txDataPollCount)); - break; - case Attributes::TxBeaconCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txBeaconCount)); - break; - case Attributes::TxBeaconRequestCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txBeaconRequestCount)); - break; - case Attributes::TxOtherCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txOtherCount)); - break; - case Attributes::TxRetryCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txRetryCount)); + case Attributes::NOCs::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, NOCs)); break; - case Attributes::TxDirectMaxRetryExpiryCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txDirectMaxRetryExpiryCount)); + case Attributes::Fabrics::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, fabrics)); break; - case Attributes::TxIndirectMaxRetryExpiryCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txIndirectMaxRetryExpiryCount)); + case Attributes::SupportedFabrics::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, supportedFabrics)); break; - case Attributes::TxErrCcaCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txErrCcaCount)); + case Attributes::CommissionedFabrics::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, commissionedFabrics)); break; - case Attributes::TxErrAbortCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txErrAbortCount)); + case Attributes::TrustedRootCertificates::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, trustedRootCertificates)); break; - case Attributes::TxErrBusyChannelCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txErrBusyChannelCount)); + case Attributes::CurrentFabricIndex::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentFabricIndex)); break; - case Attributes::RxTotalCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rxTotalCount)); + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; - case Attributes::RxUnicastCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rxUnicastCount)); + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); break; - case Attributes::RxBroadcastCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rxBroadcastCount)); + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); break; - case Attributes::RxDataCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rxDataCount)); + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); break; - case Attributes::RxDataPollCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rxDataPollCount)); + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); break; - case Attributes::RxBeaconCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rxBeaconCount)); - break; - case Attributes::RxBeaconRequestCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rxBeaconRequestCount)); - break; - case Attributes::RxOtherCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rxOtherCount)); - break; - case Attributes::RxAddressFilteredCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rxAddressFilteredCount)); - break; - case Attributes::RxDestAddrFilteredCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rxDestAddrFilteredCount)); - break; - case Attributes::RxDuplicatedCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rxDuplicatedCount)); - break; - case Attributes::RxErrNoFrameCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rxErrNoFrameCount)); - break; - case Attributes::RxErrUnknownNeighborCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rxErrUnknownNeighborCount)); - break; - case Attributes::RxErrInvalidSrcAddrCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rxErrInvalidSrcAddrCount)); - break; - case Attributes::RxErrSecCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rxErrSecCount)); - break; - case Attributes::RxErrFcsCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rxErrFcsCount)); - break; - case Attributes::RxErrOtherCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rxErrOtherCount)); - break; - case Attributes::ActiveTimestamp::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, activeTimestamp)); - break; - case Attributes::PendingTimestamp::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, pendingTimestamp)); - break; - case Attributes::Delay::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, delay)); - break; - case Attributes::SecurityPolicy::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, securityPolicy)); - break; - case Attributes::ChannelMask::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, channelMask)); - break; - case Attributes::OperationalDatasetComponents::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, operationalDatasetComponents)); - break; - case Attributes::ActiveNetworkFaultsList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, activeNetworkFaultsList)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: + default: break; } @@ -9715,12 +9184,33 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre } // namespace Attributes namespace Events { -namespace ConnectionStatus { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +} // namespace Events + +} // namespace OperationalCredentials +namespace GroupKeyManagement { +namespace Structs { +namespace GroupInfoMapStruct { +CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + return DoEncode(writer, tag, NullOptional); +} + +CHIP_ERROR Type::EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const +{ + return DoEncode(writer, tag, MakeOptional(accessingFabricIndex)); +} + +CHIP_ERROR Type::DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kConnectionStatus)), connectionStatus)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupId)), groupId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndpoints)), endpoints)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupName)), groupName)); + if (accessingFabricIndex.HasValue()) + { + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); + } ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -9730,7 +9220,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -9739,8 +9230,17 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kConnectionStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, connectionStatus)); + case to_underlying(Fields::kGroupId): + ReturnErrorOnFailure(DataModel::Decode(reader, groupId)); + break; + case to_underlying(Fields::kEndpoints): + ReturnErrorOnFailure(DataModel::Decode(reader, endpoints)); + break; + case to_underlying(Fields::kGroupName): + ReturnErrorOnFailure(DataModel::Decode(reader, groupName)); + break; + case to_underlying(Fields::kFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); break; default: break; @@ -9749,20 +9249,32 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace ConnectionStatus. -} // namespace Events -} // namespace ThreadNetworkDiagnostics -namespace WiFiNetworkDiagnostics { +} // namespace GroupInfoMapStruct +namespace GroupKeyMapStruct { +CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + return DoEncode(writer, tag, NullOptional); +} -namespace Commands { -namespace ResetCounts { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +CHIP_ERROR Type::EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const +{ + return DoEncode(writer, tag, MakeOptional(accessingFabricIndex)); +} + +CHIP_ERROR Type::DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupId)), groupId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySetID)), groupKeySetID)); + if (accessingFabricIndex.HasValue()) + { + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); + } ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -9772,7 +9284,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -9781,6 +9294,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kGroupId): + ReturnErrorOnFailure(DataModel::Decode(reader, groupId)); + break; + case to_underlying(Fields::kGroupKeySetID): + ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySetID)); + break; + case to_underlying(Fields::kFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); + break; default: break; } @@ -9788,85 +9310,25 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace ResetCounts. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::Bssid::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, bssid)); - break; - case Attributes::SecurityType::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, securityType)); - break; - case Attributes::WiFiVersion::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, wiFiVersion)); - break; - case Attributes::ChannelNumber::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, channelNumber)); - break; - case Attributes::Rssi::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rssi)); - break; - case Attributes::BeaconLostCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, beaconLostCount)); - break; - case Attributes::BeaconRxCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, beaconRxCount)); - break; - case Attributes::PacketMulticastRxCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, packetMulticastRxCount)); - break; - case Attributes::PacketMulticastTxCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, packetMulticastTxCount)); - break; - case Attributes::PacketUnicastRxCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, packetUnicastRxCount)); - break; - case Attributes::PacketUnicastTxCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, packetUnicastTxCount)); - break; - case Attributes::CurrentMaxRate::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentMaxRate)); - break; - case Attributes::OverrunCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, overrunCount)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } return CHIP_NO_ERROR; } -} // namespace Attributes -namespace Events { -namespace Disconnection { +} // namespace GroupKeyMapStruct +namespace GroupKeySetStruct { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kReasonCode)), reasonCode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySetID)), groupKeySetID)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySecurityPolicy)), groupKeySecurityPolicy)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEpochKey0)), epochKey0)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEpochStartTime0)), epochStartTime0)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEpochKey1)), epochKey1)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEpochStartTime1)), epochStartTime1)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEpochKey2)), epochKey2)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEpochStartTime2)), epochStartTime2)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -9876,7 +9338,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -9885,27 +9348,51 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kReasonCode): - ReturnErrorOnFailure(DataModel::Decode(reader, reasonCode)); + case to_underlying(Fields::kGroupKeySetID): + ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySetID)); break; - default: + case to_underlying(Fields::kGroupKeySecurityPolicy): + ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySecurityPolicy)); break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace Disconnection. -namespace AssociationFailure { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; + case to_underlying(Fields::kEpochKey0): + ReturnErrorOnFailure(DataModel::Decode(reader, epochKey0)); + break; + case to_underlying(Fields::kEpochStartTime0): + ReturnErrorOnFailure(DataModel::Decode(reader, epochStartTime0)); + break; + case to_underlying(Fields::kEpochKey1): + ReturnErrorOnFailure(DataModel::Decode(reader, epochKey1)); + break; + case to_underlying(Fields::kEpochStartTime1): + ReturnErrorOnFailure(DataModel::Decode(reader, epochStartTime1)); + break; + case to_underlying(Fields::kEpochKey2): + ReturnErrorOnFailure(DataModel::Decode(reader, epochKey2)); + break; + case to_underlying(Fields::kEpochStartTime2): + ReturnErrorOnFailure(DataModel::Decode(reader, epochStartTime2)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + + return CHIP_NO_ERROR; +} + +} // namespace GroupKeySetStruct +} // namespace Structs + +namespace Commands { +namespace KeySetWrite { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAssociationFailure)), associationFailure)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySet)), groupKeySet)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -9924,11 +9411,45 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kAssociationFailure): - ReturnErrorOnFailure(DataModel::Decode(reader, associationFailure)); + case to_underlying(Fields::kGroupKeySet): + ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySet)); break; - case to_underlying(Fields::kStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace KeySetWrite. +namespace KeySetRead { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySetID)), groupKeySetID)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kGroupKeySetID): + ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySetID)); break; default: break; @@ -9939,13 +9460,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace AssociationFailure. -namespace ConnectionStatus { +} // namespace KeySetRead. +namespace KeySetReadResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kConnectionStatus)), connectionStatus)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySet)), groupKeySet)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -9964,8 +9485,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kConnectionStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, connectionStatus)); + case to_underlying(Fields::kGroupKeySet): + ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySet)); break; default: break; @@ -9976,18 +9497,50 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ConnectionStatus. -} // namespace Events +} // namespace KeySetReadResponse. +namespace KeySetRemove { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySetID)), groupKeySetID)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} -} // namespace WiFiNetworkDiagnostics -namespace EthernetNetworkDiagnostics { +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kGroupKeySetID): + ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySetID)); + break; + default: + break; + } + } -namespace Commands { -namespace ResetCounts { + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace KeySetRemove. +namespace KeySetReadAllIndices { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySetIDs)), groupKeySetIDs)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -10006,6 +9559,9 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kGroupKeySetIDs): + ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySetIDs)); + break; default: break; } @@ -10015,7 +9571,44 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ResetCounts. +} // namespace KeySetReadAllIndices. +namespace KeySetReadAllIndicesResponse { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySetIDs)), groupKeySetIDs)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kGroupKeySetIDs): + ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySetIDs)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace KeySetReadAllIndicesResponse. } // namespace Commands namespace Attributes { @@ -10023,32 +9616,17 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::PHYRate::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, PHYRate)); - break; - case Attributes::FullDuplex::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, fullDuplex)); - break; - case Attributes::PacketRxCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, packetRxCount)); - break; - case Attributes::PacketTxCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, packetTxCount)); - break; - case Attributes::TxErrCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, txErrCount)); - break; - case Attributes::CollisionCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, collisionCount)); + case Attributes::GroupKeyMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, groupKeyMap)); break; - case Attributes::OverrunCount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, overrunCount)); + case Attributes::GroupTable::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, groupTable)); break; - case Attributes::CarrierDetect::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, carrierDetect)); + case Attributes::MaxGroupsPerFabric::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxGroupsPerFabric)); break; - case Attributes::TimeSinceReset::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, timeSinceReset)); + case Attributes::MaxGroupKeysPerFabric::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxGroupKeysPerFabric)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -10076,8 +9654,10 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events { } // namespace Events -} // namespace EthernetNetworkDiagnostics -namespace TimeSynchronization { +} // namespace GroupKeyManagement +namespace FixedLabel { +namespace Structs { +} // namespace Structs namespace Commands { } // namespace Commands @@ -10087,6 +9667,9 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { + case Attributes::LabelList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, labelList)); + break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -10113,8 +9696,10 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events { } // namespace Events -} // namespace TimeSynchronization -namespace BridgedDeviceBasic { +} // namespace FixedLabel +namespace UserLabel { +namespace Structs { +} // namespace Structs namespace Commands { } // namespace Commands @@ -10124,51 +9709,120 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::VendorName::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, vendorName)); - break; - case Attributes::VendorID::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, vendorID)); + case Attributes::LabelList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, labelList)); break; - case Attributes::ProductName::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, productName)); + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; - case Attributes::NodeLabel::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, nodeLabel)); + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); break; - case Attributes::HardwareVersion::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, hardwareVersion)); + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); break; - case Attributes::HardwareVersionString::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, hardwareVersionString)); + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); break; - case Attributes::SoftwareVersion::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); break; - case Attributes::SoftwareVersionString::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersionString)); + default: break; - case Attributes::ManufacturingDate::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, manufacturingDate)); + } + + return CHIP_NO_ERROR; +} +} // namespace Attributes + +namespace Events { +} // namespace Events + +} // namespace UserLabel +namespace ProxyConfiguration { + +namespace Commands { +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; - case Attributes::PartNumber::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, partNumber)); + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); break; - case Attributes::ProductURL::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, productURL)); + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); break; - case Attributes::ProductLabel::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, productLabel)); + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); break; - case Attributes::SerialNumber::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, serialNumber)); + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); break; - case Attributes::Reachable::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, reachable)); + default: break; - case Attributes::UniqueID::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, uniqueID)); + } + + return CHIP_NO_ERROR; +} +} // namespace Attributes + +namespace Events { +} // namespace Events + +} // namespace ProxyConfiguration +namespace ProxyDiscovery { + +namespace Commands { +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: break; + } + + return CHIP_NO_ERROR; +} +} // namespace Attributes + +namespace Events { +} // namespace Events + +} // namespace ProxyDiscovery +namespace ProxyValid { + +namespace Commands { +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -10193,12 +9847,52 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre } // namespace Attributes namespace Events { -namespace StartUp { +} // namespace Events + +} // namespace ProxyValid +namespace BooleanState { + +namespace Commands { +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::StateValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, stateValue)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; + } + + return CHIP_NO_ERROR; +} +} // namespace Attributes + +namespace Events { +namespace StateChange { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSoftwareVersion)), softwareVersion)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStateValue)), stateValue)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -10217,8 +9911,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kSoftwareVersion): - ReturnErrorOnFailure(DataModel::Decode(reader, softwareVersion)); + case to_underlying(Fields::kStateValue): + ReturnErrorOnFailure(DataModel::Decode(reader, stateValue)); break; default: break; @@ -10229,12 +9923,19 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace StartUp. -namespace ShutDown { +} // namespace StateChange. +} // namespace Events + +} // namespace BooleanState +namespace ModeSelect { +namespace Structs { +namespace SemanticTag { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMfgCode)), mfgCode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kValue)), value)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -10244,7 +9945,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -10253,6 +9955,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kMfgCode): + ReturnErrorOnFailure(DataModel::Decode(reader, mfgCode)); + break; + case to_underlying(Fields::kValue): + ReturnErrorOnFailure(DataModel::Decode(reader, value)); + break; default: break; } @@ -10260,14 +9968,19 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace ShutDown. -namespace Leave { + +} // namespace SemanticTag +namespace ModeOptionStruct { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLabel)), label)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMode)), mode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSemanticTags)), semanticTags)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -10277,7 +9990,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -10286,6 +10000,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kLabel): + ReturnErrorOnFailure(DataModel::Decode(reader, label)); + break; + case to_underlying(Fields::kMode): + ReturnErrorOnFailure(DataModel::Decode(reader, mode)); + break; + case to_underlying(Fields::kSemanticTags): + ReturnErrorOnFailure(DataModel::Decode(reader, semanticTags)); + break; default: break; } @@ -10293,15 +10016,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace Leave. -namespace ReachableChanged { + +} // namespace ModeOptionStruct +} // namespace Structs + +namespace Commands { +namespace ChangeToMode { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kReachableNewValue)), reachableNewValue)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewMode)), newMode)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -10320,8 +10048,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kReachableNewValue): - ReturnErrorOnFailure(DataModel::Decode(reader, reachableNewValue)); + case to_underlying(Fields::kNewMode): + ReturnErrorOnFailure(DataModel::Decode(reader, newMode)); break; default: break; @@ -10332,13 +10060,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ReachableChanged. -} // namespace Events - -} // namespace BridgedDeviceBasic -namespace Switch { - -namespace Commands { +} // namespace ChangeToMode. } // namespace Commands namespace Attributes { @@ -10346,14 +10068,23 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::NumberOfPositions::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, numberOfPositions)); + case Attributes::Description::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, description)); break; - case Attributes::CurrentPosition::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentPosition)); + case Attributes::StandardNamespace::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, standardNamespace)); break; - case Attributes::MultiPressMax::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, multiPressMax)); + case Attributes::SupportedModes::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, supportedModes)); + break; + case Attributes::CurrentMode::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentMode)); + break; + case Attributes::StartUpMode::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, startUpMode)); + break; + case Attributes::OnMode::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, onMode)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -10379,12 +10110,18 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre } // namespace Attributes namespace Events { -namespace SwitchLatched { +} // namespace Events + +} // namespace ModeSelect +namespace DoorLock { +namespace Structs { +namespace DlCredential { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewPosition)), newPosition)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentialType)), credentialType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentialIndex)), credentialIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -10394,7 +10131,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -10403,8 +10141,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNewPosition): - ReturnErrorOnFailure(DataModel::Decode(reader, newPosition)); + case to_underlying(Fields::kCredentialType): + ReturnErrorOnFailure(DataModel::Decode(reader, credentialType)); + break; + case to_underlying(Fields::kCredentialIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, credentialIndex)); break; default: break; @@ -10413,15 +10154,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace SwitchLatched. -namespace InitialPress { + +} // namespace DlCredential +} // namespace Structs + +namespace Commands { +namespace LockDoor { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewPosition)), newPosition)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPinCode)), pinCode)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -10440,8 +10186,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNewPosition): - ReturnErrorOnFailure(DataModel::Decode(reader, newPosition)); + case to_underlying(Fields::kPinCode): + ReturnErrorOnFailure(DataModel::Decode(reader, pinCode)); break; default: break; @@ -10452,13 +10198,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace InitialPress. -namespace LongPress { +} // namespace LockDoor. +namespace UnlockDoor { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewPosition)), newPosition)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPinCode)), pinCode)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -10477,8 +10223,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNewPosition): - ReturnErrorOnFailure(DataModel::Decode(reader, newPosition)); + case to_underlying(Fields::kPinCode): + ReturnErrorOnFailure(DataModel::Decode(reader, pinCode)); break; default: break; @@ -10489,13 +10235,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace LongPress. -namespace ShortRelease { +} // namespace UnlockDoor. +namespace UnlockWithTimeout { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPreviousPosition)), previousPosition)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTimeout)), timeout)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPinCode)), pinCode)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -10514,8 +10261,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPreviousPosition): - ReturnErrorOnFailure(DataModel::Decode(reader, previousPosition)); + case to_underlying(Fields::kTimeout): + ReturnErrorOnFailure(DataModel::Decode(reader, timeout)); + break; + case to_underlying(Fields::kPinCode): + ReturnErrorOnFailure(DataModel::Decode(reader, pinCode)); break; default: break; @@ -10526,13 +10276,19 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ShortRelease. -namespace LongRelease { +} // namespace UnlockWithTimeout. +namespace SetWeekDaySchedule { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPreviousPosition)), previousPosition)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kWeekDayIndex)), weekDayIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDaysMask)), daysMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStartHour)), startHour)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStartMinute)), startMinute)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndHour)), endHour)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndMinute)), endMinute)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -10551,8 +10307,26 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPreviousPosition): - ReturnErrorOnFailure(DataModel::Decode(reader, previousPosition)); + case to_underlying(Fields::kWeekDayIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, weekDayIndex)); + break; + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); + break; + case to_underlying(Fields::kDaysMask): + ReturnErrorOnFailure(DataModel::Decode(reader, daysMask)); + break; + case to_underlying(Fields::kStartHour): + ReturnErrorOnFailure(DataModel::Decode(reader, startHour)); + break; + case to_underlying(Fields::kStartMinute): + ReturnErrorOnFailure(DataModel::Decode(reader, startMinute)); + break; + case to_underlying(Fields::kEndHour): + ReturnErrorOnFailure(DataModel::Decode(reader, endHour)); + break; + case to_underlying(Fields::kEndMinute): + ReturnErrorOnFailure(DataModel::Decode(reader, endMinute)); break; default: break; @@ -10563,15 +10337,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace LongRelease. -namespace MultiPressOngoing { +} // namespace SetWeekDaySchedule. +namespace GetWeekDaySchedule { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewPosition)), newPosition)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCurrentNumberOfPressesCounted)), - currentNumberOfPressesCounted)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kWeekDayIndex)), weekDayIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -10590,11 +10363,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNewPosition): - ReturnErrorOnFailure(DataModel::Decode(reader, newPosition)); + case to_underlying(Fields::kWeekDayIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, weekDayIndex)); break; - case to_underlying(Fields::kCurrentNumberOfPressesCounted): - ReturnErrorOnFailure(DataModel::Decode(reader, currentNumberOfPressesCounted)); + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); break; default: break; @@ -10605,15 +10378,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace MultiPressOngoing. -namespace MultiPressComplete { +} // namespace GetWeekDaySchedule. +namespace GetWeekDayScheduleResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewPosition)), newPosition)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTotalNumberOfPressesCounted)), - totalNumberOfPressesCounted)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kWeekDayIndex)), weekDayIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDaysMask)), daysMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStartHour)), startHour)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStartMinute)), startMinute)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndHour)), endHour)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndMinute)), endMinute)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -10632,11 +10410,29 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNewPosition): - ReturnErrorOnFailure(DataModel::Decode(reader, newPosition)); + case to_underlying(Fields::kWeekDayIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, weekDayIndex)); break; - case to_underlying(Fields::kTotalNumberOfPressesCounted): - ReturnErrorOnFailure(DataModel::Decode(reader, totalNumberOfPressesCounted)); + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); + break; + case to_underlying(Fields::kStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, status)); + break; + case to_underlying(Fields::kDaysMask): + ReturnErrorOnFailure(DataModel::Decode(reader, daysMask)); + break; + case to_underlying(Fields::kStartHour): + ReturnErrorOnFailure(DataModel::Decode(reader, startHour)); + break; + case to_underlying(Fields::kStartMinute): + ReturnErrorOnFailure(DataModel::Decode(reader, startMinute)); + break; + case to_underlying(Fields::kEndHour): + ReturnErrorOnFailure(DataModel::Decode(reader, endHour)); + break; + case to_underlying(Fields::kEndMinute): + ReturnErrorOnFailure(DataModel::Decode(reader, endMinute)); break; default: break; @@ -10647,24 +10443,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace MultiPressComplete. -} // namespace Events - -} // namespace Switch -namespace AdministratorCommissioning { - -namespace Commands { -namespace OpenCommissioningWindow { +} // namespace GetWeekDayScheduleResponse. +namespace ClearWeekDaySchedule { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCommissioningTimeout)), commissioningTimeout)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPAKEVerifier)), PAKEVerifier)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDiscriminator)), discriminator)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIterations)), iterations)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSalt)), salt)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kWeekDayIndex)), weekDayIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -10683,20 +10469,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCommissioningTimeout): - ReturnErrorOnFailure(DataModel::Decode(reader, commissioningTimeout)); - break; - case to_underlying(Fields::kPAKEVerifier): - ReturnErrorOnFailure(DataModel::Decode(reader, PAKEVerifier)); - break; - case to_underlying(Fields::kDiscriminator): - ReturnErrorOnFailure(DataModel::Decode(reader, discriminator)); - break; - case to_underlying(Fields::kIterations): - ReturnErrorOnFailure(DataModel::Decode(reader, iterations)); + case to_underlying(Fields::kWeekDayIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, weekDayIndex)); break; - case to_underlying(Fields::kSalt): - ReturnErrorOnFailure(DataModel::Decode(reader, salt)); + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); break; default: break; @@ -10707,14 +10484,16 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace OpenCommissioningWindow. -namespace OpenBasicCommissioningWindow { +} // namespace ClearWeekDaySchedule. +namespace SetYearDaySchedule { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCommissioningTimeout)), commissioningTimeout)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kYearDayIndex)), yearDayIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocalStartTime)), localStartTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocalEndTime)), localEndTime)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -10733,8 +10512,17 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCommissioningTimeout): - ReturnErrorOnFailure(DataModel::Decode(reader, commissioningTimeout)); + case to_underlying(Fields::kYearDayIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, yearDayIndex)); + break; + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); + break; + case to_underlying(Fields::kLocalStartTime): + ReturnErrorOnFailure(DataModel::Decode(reader, localStartTime)); + break; + case to_underlying(Fields::kLocalEndTime): + ReturnErrorOnFailure(DataModel::Decode(reader, localEndTime)); break; default: break; @@ -10745,12 +10533,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace OpenBasicCommissioningWindow. -namespace RevokeCommissioning { +} // namespace SetYearDaySchedule. +namespace GetYearDaySchedule { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kYearDayIndex)), yearDayIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -10769,6 +10559,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kYearDayIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, yearDayIndex)); + break; + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); + break; default: break; } @@ -10778,87 +10574,27 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace RevokeCommissioning. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +} // namespace GetYearDaySchedule. +namespace GetYearDayScheduleResponse { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { - switch (path.mAttributeId) - { - case Attributes::WindowStatus::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, windowStatus)); - break; - case Attributes::AdminFabricIndex::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, adminFabricIndex)); - break; - case Attributes::AdminVendorId::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, adminVendorId)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kYearDayIndex)), yearDayIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocalStartTime)), localStartTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocalEndTime)), localEndTime)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events -} // namespace AdministratorCommissioning -namespace OperationalCredentials { -namespace Structs { -namespace FabricDescriptor { -CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - return DoEncode(writer, tag, NullOptional); -} - -CHIP_ERROR Type::EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const -{ - return DoEncode(writer, tag, MakeOptional(accessingFabricIndex)); -} - -CHIP_ERROR Type::DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRootPublicKey)), rootPublicKey)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kVendorId)), vendorId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricId)), fabricId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNodeId)), nodeId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLabel)), label)); - if (accessingFabricIndex.HasValue()) - { - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); - } - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -10867,23 +10603,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kRootPublicKey): - ReturnErrorOnFailure(DataModel::Decode(reader, rootPublicKey)); - break; - case to_underlying(Fields::kVendorId): - ReturnErrorOnFailure(DataModel::Decode(reader, vendorId)); + case to_underlying(Fields::kYearDayIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, yearDayIndex)); break; - case to_underlying(Fields::kFabricId): - ReturnErrorOnFailure(DataModel::Decode(reader, fabricId)); + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); break; - case to_underlying(Fields::kNodeId): - ReturnErrorOnFailure(DataModel::Decode(reader, nodeId)); + case to_underlying(Fields::kStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, status)); break; - case to_underlying(Fields::kLabel): - ReturnErrorOnFailure(DataModel::Decode(reader, label)); + case to_underlying(Fields::kLocalStartTime): + ReturnErrorOnFailure(DataModel::Decode(reader, localStartTime)); break; - case to_underlying(Fields::kFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); + case to_underlying(Fields::kLocalEndTime): + ReturnErrorOnFailure(DataModel::Decode(reader, localEndTime)); break; default: break; @@ -10892,39 +10625,16 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace FabricDescriptor -namespace NOCStruct { -CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - return DoEncode(writer, tag, NullOptional); -} - -CHIP_ERROR Type::EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const -{ - return DoEncode(writer, tag, MakeOptional(accessingFabricIndex)); -} - -CHIP_ERROR Type::DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const +} // namespace GetYearDayScheduleResponse. +namespace ClearYearDaySchedule { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { - bool includeSensitive = !accessingFabricIndex.HasValue() || (accessingFabricIndex.Value() == fabricIndex); TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - if (includeSensitive) - { - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNoc)), noc)); - } - if (includeSensitive) - { - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIcac)), icac)); - } - if (accessingFabricIndex.HasValue()) - { - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); - } + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kYearDayIndex)), yearDayIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -10934,8 +10644,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -10944,14 +10653,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNoc): - ReturnErrorOnFailure(DataModel::Decode(reader, noc)); - break; - case to_underlying(Fields::kIcac): - ReturnErrorOnFailure(DataModel::Decode(reader, icac)); + case to_underlying(Fields::kYearDayIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, yearDayIndex)); break; - case to_underlying(Fields::kFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); break; default: break; @@ -10960,20 +10666,18 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace NOCStruct -} // namespace Structs - -namespace Commands { -namespace AttestationRequest { +} // namespace ClearYearDaySchedule. +namespace SetHolidaySchedule { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAttestationNonce)), attestationNonce)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHolidayIndex)), holidayIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocalStartTime)), localStartTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocalEndTime)), localEndTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperatingMode)), operatingMode)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -10992,8 +10696,17 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kAttestationNonce): - ReturnErrorOnFailure(DataModel::Decode(reader, attestationNonce)); + case to_underlying(Fields::kHolidayIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, holidayIndex)); + break; + case to_underlying(Fields::kLocalStartTime): + ReturnErrorOnFailure(DataModel::Decode(reader, localStartTime)); + break; + case to_underlying(Fields::kLocalEndTime): + ReturnErrorOnFailure(DataModel::Decode(reader, localEndTime)); + break; + case to_underlying(Fields::kOperatingMode): + ReturnErrorOnFailure(DataModel::Decode(reader, operatingMode)); break; default: break; @@ -11004,15 +10717,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace AttestationRequest. -namespace AttestationResponse { +} // namespace SetHolidaySchedule. +namespace GetHolidaySchedule { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAttestationElements)), attestationElements)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSignature)), signature)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHolidayIndex)), holidayIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11031,11 +10742,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kAttestationElements): - ReturnErrorOnFailure(DataModel::Decode(reader, attestationElements)); - break; - case to_underlying(Fields::kSignature): - ReturnErrorOnFailure(DataModel::Decode(reader, signature)); + case to_underlying(Fields::kHolidayIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, holidayIndex)); break; default: break; @@ -11046,13 +10754,17 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace AttestationResponse. -namespace CertificateChainRequest { +} // namespace GetHolidaySchedule. +namespace GetHolidayScheduleResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCertificateType)), certificateType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHolidayIndex)), holidayIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocalStartTime)), localStartTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocalEndTime)), localEndTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperatingMode)), operatingMode)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11071,8 +10783,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCertificateType): - ReturnErrorOnFailure(DataModel::Decode(reader, certificateType)); + case to_underlying(Fields::kHolidayIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, holidayIndex)); + break; + case to_underlying(Fields::kStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, status)); + break; + case to_underlying(Fields::kLocalStartTime): + ReturnErrorOnFailure(DataModel::Decode(reader, localStartTime)); + break; + case to_underlying(Fields::kLocalEndTime): + ReturnErrorOnFailure(DataModel::Decode(reader, localEndTime)); + break; + case to_underlying(Fields::kOperatingMode): + ReturnErrorOnFailure(DataModel::Decode(reader, operatingMode)); break; default: break; @@ -11083,13 +10807,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace CertificateChainRequest. -namespace CertificateChainResponse { +} // namespace GetHolidayScheduleResponse. +namespace ClearHolidaySchedule { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCertificate)), certificate)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHolidayIndex)), holidayIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11108,8 +10832,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCertificate): - ReturnErrorOnFailure(DataModel::Decode(reader, certificate)); + case to_underlying(Fields::kHolidayIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, holidayIndex)); break; default: break; @@ -11120,14 +10844,19 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace CertificateChainResponse. -namespace CSRRequest { +} // namespace ClearHolidaySchedule. +namespace SetUser { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCSRNonce)), CSRNonce)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIsForUpdateNOC)), isForUpdateNOC)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperationType)), operationType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserName)), userName)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserUniqueId)), userUniqueId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserStatus)), userStatus)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserType)), userType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentialRule)), credentialRule)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11146,11 +10875,26 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCSRNonce): - ReturnErrorOnFailure(DataModel::Decode(reader, CSRNonce)); + case to_underlying(Fields::kOperationType): + ReturnErrorOnFailure(DataModel::Decode(reader, operationType)); break; - case to_underlying(Fields::kIsForUpdateNOC): - ReturnErrorOnFailure(DataModel::Decode(reader, isForUpdateNOC)); + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); + break; + case to_underlying(Fields::kUserName): + ReturnErrorOnFailure(DataModel::Decode(reader, userName)); + break; + case to_underlying(Fields::kUserUniqueId): + ReturnErrorOnFailure(DataModel::Decode(reader, userUniqueId)); + break; + case to_underlying(Fields::kUserStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, userStatus)); + break; + case to_underlying(Fields::kUserType): + ReturnErrorOnFailure(DataModel::Decode(reader, userType)); + break; + case to_underlying(Fields::kCredentialRule): + ReturnErrorOnFailure(DataModel::Decode(reader, credentialRule)); break; default: break; @@ -11161,15 +10905,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace CSRRequest. -namespace CSRResponse { +} // namespace SetUser. +namespace GetUser { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNOCSRElements)), NOCSRElements)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAttestationSignature)), attestationSignature)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11188,11 +10930,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNOCSRElements): - ReturnErrorOnFailure(DataModel::Decode(reader, NOCSRElements)); - break; - case to_underlying(Fields::kAttestationSignature): - ReturnErrorOnFailure(DataModel::Decode(reader, attestationSignature)); + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); break; default: break; @@ -11203,17 +10942,24 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace CSRResponse. -namespace AddNOC { +} // namespace GetUser. +namespace GetUserResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNOCValue)), NOCValue)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kICACValue)), ICACValue)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIPKValue)), IPKValue)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCaseAdminSubject)), caseAdminSubject)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAdminVendorId)), adminVendorId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserName)), userName)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserUniqueId)), userUniqueId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserStatus)), userStatus)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserType)), userType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentialRule)), credentialRule)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentials)), credentials)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCreatorFabricIndex)), creatorFabricIndex)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLastModifiedFabricIndex)), lastModifiedFabricIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNextUserIndex)), nextUserIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11232,20 +10978,35 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNOCValue): - ReturnErrorOnFailure(DataModel::Decode(reader, NOCValue)); + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); break; - case to_underlying(Fields::kICACValue): - ReturnErrorOnFailure(DataModel::Decode(reader, ICACValue)); + case to_underlying(Fields::kUserName): + ReturnErrorOnFailure(DataModel::Decode(reader, userName)); break; - case to_underlying(Fields::kIPKValue): - ReturnErrorOnFailure(DataModel::Decode(reader, IPKValue)); + case to_underlying(Fields::kUserUniqueId): + ReturnErrorOnFailure(DataModel::Decode(reader, userUniqueId)); break; - case to_underlying(Fields::kCaseAdminSubject): - ReturnErrorOnFailure(DataModel::Decode(reader, caseAdminSubject)); + case to_underlying(Fields::kUserStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, userStatus)); break; - case to_underlying(Fields::kAdminVendorId): - ReturnErrorOnFailure(DataModel::Decode(reader, adminVendorId)); + case to_underlying(Fields::kUserType): + ReturnErrorOnFailure(DataModel::Decode(reader, userType)); + break; + case to_underlying(Fields::kCredentialRule): + ReturnErrorOnFailure(DataModel::Decode(reader, credentialRule)); + break; + case to_underlying(Fields::kCredentials): + ReturnErrorOnFailure(DataModel::Decode(reader, credentials)); + break; + case to_underlying(Fields::kCreatorFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, creatorFabricIndex)); + break; + case to_underlying(Fields::kLastModifiedFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, lastModifiedFabricIndex)); + break; + case to_underlying(Fields::kNextUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, nextUserIndex)); break; default: break; @@ -11256,14 +11017,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace AddNOC. -namespace UpdateNOC { +} // namespace GetUserResponse. +namespace ClearUser { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNOCValue)), NOCValue)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kICACValue)), ICACValue)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11282,11 +11042,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNOCValue): - ReturnErrorOnFailure(DataModel::Decode(reader, NOCValue)); - break; - case to_underlying(Fields::kICACValue): - ReturnErrorOnFailure(DataModel::Decode(reader, ICACValue)); + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); break; default: break; @@ -11297,15 +11054,18 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace UpdateNOC. -namespace NOCResponse { +} // namespace ClearUser. +namespace SetCredential { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatusCode)), statusCode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDebugText)), debugText)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperationType)), operationType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredential)), credential)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentialData)), credentialData)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserStatus)), userStatus)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserType)), userType)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11324,14 +11084,23 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kStatusCode): - ReturnErrorOnFailure(DataModel::Decode(reader, statusCode)); + case to_underlying(Fields::kOperationType): + ReturnErrorOnFailure(DataModel::Decode(reader, operationType)); break; - case to_underlying(Fields::kFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); + case to_underlying(Fields::kCredential): + ReturnErrorOnFailure(DataModel::Decode(reader, credential)); break; - case to_underlying(Fields::kDebugText): - ReturnErrorOnFailure(DataModel::Decode(reader, debugText)); + case to_underlying(Fields::kCredentialData): + ReturnErrorOnFailure(DataModel::Decode(reader, credentialData)); + break; + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); + break; + case to_underlying(Fields::kUserStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, userStatus)); + break; + case to_underlying(Fields::kUserType): + ReturnErrorOnFailure(DataModel::Decode(reader, userType)); break; default: break; @@ -11342,13 +11111,16 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace NOCResponse. -namespace UpdateFabricLabel { +} // namespace SetCredential. +namespace SetCredentialResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLabel)), label)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNextCredentialIndex)), nextCredentialIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11367,8 +11139,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kLabel): - ReturnErrorOnFailure(DataModel::Decode(reader, label)); + case to_underlying(Fields::kStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, status)); + break; + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); + break; + case to_underlying(Fields::kNextCredentialIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, nextCredentialIndex)); break; default: break; @@ -11379,13 +11157,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace UpdateFabricLabel. -namespace RemoveFabric { +} // namespace SetCredentialResponse. +namespace GetCredentialStatus { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredential)), credential)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11404,8 +11182,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); + case to_underlying(Fields::kCredential): + ReturnErrorOnFailure(DataModel::Decode(reader, credential)); break; default: break; @@ -11416,13 +11194,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace RemoveFabric. -namespace AddTrustedRootCertificate { +} // namespace GetCredentialStatus. +namespace GetCredentialStatusResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRootCertificate)), rootCertificate)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentialExists)), credentialExists)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCreatorFabricIndex)), creatorFabricIndex)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLastModifiedFabricIndex)), lastModifiedFabricIndex)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNextCredentialIndex)), nextCredentialIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11441,8 +11226,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kRootCertificate): - ReturnErrorOnFailure(DataModel::Decode(reader, rootCertificate)); + case to_underlying(Fields::kCredentialExists): + ReturnErrorOnFailure(DataModel::Decode(reader, credentialExists)); + break; + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); + break; + case to_underlying(Fields::kCreatorFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, creatorFabricIndex)); + break; + case to_underlying(Fields::kLastModifiedFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, lastModifiedFabricIndex)); + break; + case to_underlying(Fields::kNextCredentialIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, nextCredentialIndex)); break; default: break; @@ -11453,83 +11250,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace AddTrustedRootCertificate. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::NOCs::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, NOCs)); - break; - case Attributes::Fabrics::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, fabrics)); - break; - case Attributes::SupportedFabrics::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, supportedFabrics)); - break; - case Attributes::CommissionedFabrics::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, commissionedFabrics)); - break; - case Attributes::TrustedRootCertificates::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, trustedRootCertificates)); - break; - case Attributes::CurrentFabricIndex::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentFabricIndex)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace OperationalCredentials -namespace GroupKeyManagement { -namespace Structs { -namespace GroupInfoMapStruct { -CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - return DoEncode(writer, tag, NullOptional); -} - -CHIP_ERROR Type::EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const -{ - return DoEncode(writer, tag, MakeOptional(accessingFabricIndex)); -} - -CHIP_ERROR Type::DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const +} // namespace GetCredentialStatusResponse. +namespace ClearCredential { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupId)), groupId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndpoints)), endpoints)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupName)), groupName)); - if (accessingFabricIndex.HasValue()) - { - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); - } + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredential)), credential)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11539,8 +11266,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -11549,17 +11275,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kGroupId): - ReturnErrorOnFailure(DataModel::Decode(reader, groupId)); - break; - case to_underlying(Fields::kEndpoints): - ReturnErrorOnFailure(DataModel::Decode(reader, endpoints)); - break; - case to_underlying(Fields::kGroupName): - ReturnErrorOnFailure(DataModel::Decode(reader, groupName)); - break; - case to_underlying(Fields::kFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); + case to_underlying(Fields::kCredential): + ReturnErrorOnFailure(DataModel::Decode(reader, credential)); break; default: break; @@ -11568,86 +11285,154 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } +} // namespace ClearCredential. +} // namespace Commands -} // namespace GroupInfoMapStruct -namespace GroupKeyMapStruct { -CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - return DoEncode(writer, tag, NullOptional); -} - -CHIP_ERROR Type::EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const -{ - return DoEncode(writer, tag, MakeOptional(accessingFabricIndex)); -} - -CHIP_ERROR Type::DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupId)), groupId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySetID)), groupKeySetID)); - if (accessingFabricIndex.HasValue()) + switch (path.mAttributeId) { - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); - } - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kGroupId): - ReturnErrorOnFailure(DataModel::Decode(reader, groupId)); - break; - case to_underlying(Fields::kGroupKeySetID): - ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySetID)); - break; - case to_underlying(Fields::kFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); - break; - default: - break; - } + case Attributes::LockState::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, lockState)); + break; + case Attributes::LockType::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, lockType)); + break; + case Attributes::ActuatorEnabled::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, actuatorEnabled)); + break; + case Attributes::DoorState::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, doorState)); + break; + case Attributes::DoorOpenEvents::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, doorOpenEvents)); + break; + case Attributes::DoorClosedEvents::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, doorClosedEvents)); + break; + case Attributes::OpenPeriod::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, openPeriod)); + break; + case Attributes::NumberOfTotalUsersSupported::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, numberOfTotalUsersSupported)); + break; + case Attributes::NumberOfPINUsersSupported::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, numberOfPINUsersSupported)); + break; + case Attributes::NumberOfRFIDUsersSupported::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, numberOfRFIDUsersSupported)); + break; + case Attributes::NumberOfWeekDaySchedulesSupportedPerUser::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, numberOfWeekDaySchedulesSupportedPerUser)); + break; + case Attributes::NumberOfYearDaySchedulesSupportedPerUser::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, numberOfYearDaySchedulesSupportedPerUser)); + break; + case Attributes::NumberOfHolidaySchedulesSupported::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, numberOfHolidaySchedulesSupported)); + break; + case Attributes::MaxPINCodeLength::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxPINCodeLength)); + break; + case Attributes::MinPINCodeLength::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, minPINCodeLength)); + break; + case Attributes::MaxRFIDCodeLength::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxRFIDCodeLength)); + break; + case Attributes::MinRFIDCodeLength::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, minRFIDCodeLength)); + break; + case Attributes::CredentialRulesSupport::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, credentialRulesSupport)); + break; + case Attributes::NumberOfCredentialsSupportedPerUser::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, numberOfCredentialsSupportedPerUser)); + break; + case Attributes::Language::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, language)); + break; + case Attributes::LEDSettings::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, LEDSettings)); + break; + case Attributes::AutoRelockTime::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, autoRelockTime)); + break; + case Attributes::SoundVolume::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, soundVolume)); + break; + case Attributes::OperatingMode::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, operatingMode)); + break; + case Attributes::SupportedOperatingModes::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, supportedOperatingModes)); + break; + case Attributes::DefaultConfigurationRegister::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, defaultConfigurationRegister)); + break; + case Attributes::EnableLocalProgramming::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, enableLocalProgramming)); + break; + case Attributes::EnableOneTouchLocking::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, enableOneTouchLocking)); + break; + case Attributes::EnableInsideStatusLED::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, enableInsideStatusLED)); + break; + case Attributes::EnablePrivacyModeButton::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, enablePrivacyModeButton)); + break; + case Attributes::LocalProgrammingFeatures::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, localProgrammingFeatures)); + break; + case Attributes::WrongCodeEntryLimit::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, wrongCodeEntryLimit)); + break; + case Attributes::UserCodeTemporaryDisableTime::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, userCodeTemporaryDisableTime)); + break; + case Attributes::SendPINOverTheAir::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, sendPINOverTheAir)); + break; + case Attributes::RequirePINforRemoteOperation::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, requirePINforRemoteOperation)); + break; + case Attributes::ExpiringUserTimeout::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, expiringUserTimeout)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } +} // namespace Attributes -} // namespace GroupKeyMapStruct -namespace GroupKeySetStruct { +namespace Events { +namespace DoorLockAlarm { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySetID)), groupKeySetID)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySecurityPolicy)), groupKeySecurityPolicy)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEpochKey0)), epochKey0)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEpochStartTime0)), epochStartTime0)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEpochKey1)), epochKey1)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEpochStartTime1)), epochStartTime1)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEpochKey2)), epochKey2)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEpochStartTime2)), epochStartTime2)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAlarmCode)), alarmCode)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11657,8 +11442,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -11667,29 +11451,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kGroupKeySetID): - ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySetID)); - break; - case to_underlying(Fields::kGroupKeySecurityPolicy): - ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySecurityPolicy)); - break; - case to_underlying(Fields::kEpochKey0): - ReturnErrorOnFailure(DataModel::Decode(reader, epochKey0)); - break; - case to_underlying(Fields::kEpochStartTime0): - ReturnErrorOnFailure(DataModel::Decode(reader, epochStartTime0)); - break; - case to_underlying(Fields::kEpochKey1): - ReturnErrorOnFailure(DataModel::Decode(reader, epochKey1)); - break; - case to_underlying(Fields::kEpochStartTime1): - ReturnErrorOnFailure(DataModel::Decode(reader, epochStartTime1)); - break; - case to_underlying(Fields::kEpochKey2): - ReturnErrorOnFailure(DataModel::Decode(reader, epochKey2)); - break; - case to_underlying(Fields::kEpochStartTime2): - ReturnErrorOnFailure(DataModel::Decode(reader, epochStartTime2)); + case to_underlying(Fields::kAlarmCode): + ReturnErrorOnFailure(DataModel::Decode(reader, alarmCode)); break; default: break; @@ -11698,20 +11461,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace GroupKeySetStruct -} // namespace Structs - -namespace Commands { -namespace KeySetWrite { +} // namespace DoorLockAlarm. +namespace DoorStateChange { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySet)), groupKeySet)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDoorState)), doorState)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11730,8 +11488,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kGroupKeySet): - ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySet)); + case to_underlying(Fields::kDoorState): + ReturnErrorOnFailure(DataModel::Decode(reader, doorState)); break; default: break; @@ -11742,13 +11500,18 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace KeySetWrite. -namespace KeySetRead { +} // namespace DoorStateChange. +namespace LockOperation { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySetID)), groupKeySetID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLockOperationType)), lockOperationType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperationSource)), operationSource)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSourceNode)), sourceNode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentials)), credentials)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11767,8 +11530,23 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kGroupKeySetID): - ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySetID)); + case to_underlying(Fields::kLockOperationType): + ReturnErrorOnFailure(DataModel::Decode(reader, lockOperationType)); + break; + case to_underlying(Fields::kOperationSource): + ReturnErrorOnFailure(DataModel::Decode(reader, operationSource)); + break; + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); + break; + case to_underlying(Fields::kFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); + break; + case to_underlying(Fields::kSourceNode): + ReturnErrorOnFailure(DataModel::Decode(reader, sourceNode)); + break; + case to_underlying(Fields::kCredentials): + ReturnErrorOnFailure(DataModel::Decode(reader, credentials)); break; default: break; @@ -11779,13 +11557,19 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace KeySetRead. -namespace KeySetReadResponse { +} // namespace LockOperation. +namespace LockOperationError { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySet)), groupKeySet)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLockOperationType)), lockOperationType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperationSource)), operationSource)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperationError)), operationError)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSourceNode)), sourceNode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentials)), credentials)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11804,8 +11588,26 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kGroupKeySet): - ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySet)); + case to_underlying(Fields::kLockOperationType): + ReturnErrorOnFailure(DataModel::Decode(reader, lockOperationType)); + break; + case to_underlying(Fields::kOperationSource): + ReturnErrorOnFailure(DataModel::Decode(reader, operationSource)); + break; + case to_underlying(Fields::kOperationError): + ReturnErrorOnFailure(DataModel::Decode(reader, operationError)); + break; + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); + break; + case to_underlying(Fields::kFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); + break; + case to_underlying(Fields::kSourceNode): + ReturnErrorOnFailure(DataModel::Decode(reader, sourceNode)); + break; + case to_underlying(Fields::kCredentials): + ReturnErrorOnFailure(DataModel::Decode(reader, credentials)); break; default: break; @@ -11816,13 +11618,19 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace KeySetReadResponse. -namespace KeySetRemove { +} // namespace LockOperationError. +namespace LockUserChange { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySetID)), groupKeySetID)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLockDataType)), lockDataType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDataOperationType)), dataOperationType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperationSource)), operationSource)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSourceNode)), sourceNode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDataIndex)), dataIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11841,8 +11649,26 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kGroupKeySetID): - ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySetID)); + case to_underlying(Fields::kLockDataType): + ReturnErrorOnFailure(DataModel::Decode(reader, lockDataType)); + break; + case to_underlying(Fields::kDataOperationType): + ReturnErrorOnFailure(DataModel::Decode(reader, dataOperationType)); + break; + case to_underlying(Fields::kOperationSource): + ReturnErrorOnFailure(DataModel::Decode(reader, operationSource)); + break; + case to_underlying(Fields::kUserIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); + break; + case to_underlying(Fields::kFabricIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); + break; + case to_underlying(Fields::kSourceNode): + ReturnErrorOnFailure(DataModel::Decode(reader, sourceNode)); + break; + case to_underlying(Fields::kDataIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, dataIndex)); break; default: break; @@ -11853,13 +11679,18 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace KeySetRemove. -namespace KeySetReadAllIndices { +} // namespace LockUserChange. +} // namespace Events + +} // namespace DoorLock +namespace WindowCovering { + +namespace Commands { +namespace UpOrOpen { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySetIDs)), groupKeySetIDs)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11878,9 +11709,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kGroupKeySetIDs): - ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySetIDs)); - break; default: break; } @@ -11890,13 +11718,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace KeySetReadAllIndices. -namespace KeySetReadAllIndicesResponse { +} // namespace UpOrOpen. +namespace DownOrClose { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kGroupKeySetIDs)), groupKeySetIDs)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -11915,9 +11742,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kGroupKeySetIDs): - ReturnErrorOnFailure(DataModel::Decode(reader, groupKeySetIDs)); - break; default: break; } @@ -11927,291 +11751,84 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace KeySetReadAllIndicesResponse. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +} // namespace DownOrClose. +namespace StopMotion { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { - switch (path.mAttributeId) - { - case Attributes::GroupKeyMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, groupKeyMap)); - break; - case Attributes::GroupTable::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, groupTable)); - break; - case Attributes::MaxGroupsPerFabric::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxGroupsPerFabric)); - break; - case Attributes::MaxGroupKeysPerFabric::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxGroupKeysPerFabric)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace GroupKeyManagement -namespace FixedLabel { -namespace Structs { -} // namespace Structs - -namespace Commands { -} // namespace Commands -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::LabelList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, labelList)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace StopMotion. +namespace GoToLiftValue { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLiftValue)), liftValue)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace FixedLabel -namespace UserLabel { -namespace Structs { -} // namespace Structs - -namespace Commands { -} // namespace Commands -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::LabelList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, labelList)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kLiftValue): + ReturnErrorOnFailure(DataModel::Decode(reader, liftValue)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace UserLabel -namespace ProxyConfiguration { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace ProxyConfiguration -namespace ProxyDiscovery { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace ProxyDiscovery -namespace ProxyValid { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace ProxyValid -namespace BooleanState { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::StateValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, stateValue)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -namespace StateChange { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +} // namespace GoToLiftValue. +namespace GoToLiftPercentage { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStateValue)), stateValue)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLiftPercent100thsValue)), liftPercent100thsValue)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -12230,55 +11847,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kStateValue): - ReturnErrorOnFailure(DataModel::Decode(reader, stateValue)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace StateChange. -} // namespace Events - -} // namespace BooleanState -namespace ModeSelect { -namespace Structs { -namespace SemanticTag { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMfgCode)), mfgCode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kValue)), value)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kMfgCode): - ReturnErrorOnFailure(DataModel::Decode(reader, mfgCode)); - break; - case to_underlying(Fields::kValue): - ReturnErrorOnFailure(DataModel::Decode(reader, value)); + case to_underlying(Fields::kLiftPercent100thsValue): + ReturnErrorOnFailure(DataModel::Decode(reader, liftPercent100thsValue)); break; default: break; @@ -12287,19 +11857,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace SemanticTag -namespace ModeOptionStruct { +} // namespace GoToLiftPercentage. +namespace GoToTiltValue { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLabel)), label)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMode)), mode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSemanticTags)), semanticTags)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTiltValue)), tiltValue)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -12309,8 +11875,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -12319,14 +11884,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kLabel): - ReturnErrorOnFailure(DataModel::Decode(reader, label)); - break; - case to_underlying(Fields::kMode): - ReturnErrorOnFailure(DataModel::Decode(reader, mode)); - break; - case to_underlying(Fields::kSemanticTags): - ReturnErrorOnFailure(DataModel::Decode(reader, semanticTags)); + case to_underlying(Fields::kTiltValue): + ReturnErrorOnFailure(DataModel::Decode(reader, tiltValue)); break; default: break; @@ -12335,20 +11894,16 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace ModeOptionStruct -} // namespace Structs - -namespace Commands { -namespace ChangeToMode { +} // namespace GoToTiltValue. +namespace GoToTiltPercentage { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNewMode)), newMode)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTiltPercent100thsValue)), tiltPercent100thsValue)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -12367,8 +11922,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kNewMode): - ReturnErrorOnFailure(DataModel::Decode(reader, newMode)); + case to_underlying(Fields::kTiltPercent100thsValue): + ReturnErrorOnFailure(DataModel::Decode(reader, tiltPercent100thsValue)); break; default: break; @@ -12379,7 +11934,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ChangeToMode. +} // namespace GoToTiltPercentage. } // namespace Commands namespace Attributes { @@ -12387,76 +11942,72 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::Description::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, description)); - break; - case Attributes::StandardNamespace::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, standardNamespace)); + case Attributes::Type::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, type)); break; - case Attributes::SupportedModes::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, supportedModes)); + case Attributes::PhysicalClosedLimitLift::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, physicalClosedLimitLift)); break; - case Attributes::CurrentMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentMode)); + case Attributes::PhysicalClosedLimitTilt::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, physicalClosedLimitTilt)); break; - case Attributes::StartUpMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, startUpMode)); + case Attributes::CurrentPositionLift::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentPositionLift)); break; - case Attributes::OnMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, onMode)); + case Attributes::CurrentPositionTilt::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentPositionTilt)); break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + case Attributes::NumberOfActuationsLift::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, numberOfActuationsLift)); break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + case Attributes::NumberOfActuationsTilt::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, numberOfActuationsTilt)); break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + case Attributes::ConfigStatus::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, configStatus)); break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + case Attributes::CurrentPositionLiftPercentage::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentPositionLiftPercentage)); break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + case Attributes::CurrentPositionTiltPercentage::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentPositionTiltPercentage)); break; - default: + case Attributes::OperationalStatus::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, operationalStatus)); break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace ModeSelect -namespace ShadeConfiguration { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::PhysicalClosedLimit::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, physicalClosedLimit)); + case Attributes::TargetPositionLiftPercent100ths::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, targetPositionLiftPercent100ths)); break; - case Attributes::MotorStepSize::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, motorStepSize)); + case Attributes::TargetPositionTiltPercent100ths::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, targetPositionTiltPercent100ths)); break; - case Attributes::Status::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); + case Attributes::EndProductType::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, endProductType)); + break; + case Attributes::CurrentPositionLiftPercent100ths::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentPositionLiftPercent100ths)); + break; + case Attributes::CurrentPositionTiltPercent100ths::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentPositionTiltPercent100ths)); + break; + case Attributes::InstalledOpenLimitLift::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, installedOpenLimitLift)); + break; + case Attributes::InstalledClosedLimitLift::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, installedClosedLimitLift)); + break; + case Attributes::InstalledOpenLimitTilt::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, installedOpenLimitTilt)); break; - case Attributes::ClosedLimit::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, closedLimit)); + case Attributes::InstalledClosedLimitTilt::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, installedClosedLimitTilt)); break; case Attributes::Mode::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, mode)); break; + case Attributes::SafetyStatus::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, safetyStatus)); + break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -12483,62 +12034,16 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events { } // namespace Events -} // namespace ShadeConfiguration -namespace DoorLock { -namespace Structs { -namespace DlCredential { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentialType)), credentialType)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentialIndex)), credentialIndex)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kCredentialType): - ReturnErrorOnFailure(DataModel::Decode(reader, credentialType)); - break; - case to_underlying(Fields::kCredentialIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, credentialIndex)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - - return CHIP_NO_ERROR; -} - -} // namespace DlCredential -} // namespace Structs +} // namespace WindowCovering +namespace BarrierControl { namespace Commands { -namespace LockDoor { +namespace BarrierControlGoToPercent { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPinCode)), pinCode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPercentOpen)), percentOpen)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -12557,8 +12062,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPinCode): - ReturnErrorOnFailure(DataModel::Decode(reader, pinCode)); + case to_underlying(Fields::kPercentOpen): + ReturnErrorOnFailure(DataModel::Decode(reader, percentOpen)); break; default: break; @@ -12569,13 +12074,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace LockDoor. -namespace UnlockDoor { +} // namespace BarrierControlGoToPercent. +namespace BarrierControlStop { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPinCode)), pinCode)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -12594,9 +12098,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPinCode): - ReturnErrorOnFailure(DataModel::Decode(reader, pinCode)); - break; default: break; } @@ -12606,68 +12107,187 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace UnlockDoor. -namespace UnlockWithTimeout { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTimeout)), timeout)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPinCode)), pinCode)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} +} // namespace BarrierControlStop. +} // namespace Commands -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) + switch (path.mAttributeId) { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kTimeout): - ReturnErrorOnFailure(DataModel::Decode(reader, timeout)); - break; - case to_underlying(Fields::kPinCode): - ReturnErrorOnFailure(DataModel::Decode(reader, pinCode)); - break; - default: - break; - } + case Attributes::BarrierMovingState::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, barrierMovingState)); + break; + case Attributes::BarrierSafetyStatus::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, barrierSafetyStatus)); + break; + case Attributes::BarrierCapabilities::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, barrierCapabilities)); + break; + case Attributes::BarrierOpenEvents::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, barrierOpenEvents)); + break; + case Attributes::BarrierCloseEvents::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, barrierCloseEvents)); + break; + case Attributes::BarrierCommandOpenEvents::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, barrierCommandOpenEvents)); + break; + case Attributes::BarrierCommandCloseEvents::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, barrierCommandCloseEvents)); + break; + case Attributes::BarrierOpenPeriod::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, barrierOpenPeriod)); + break; + case Attributes::BarrierClosePeriod::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, barrierClosePeriod)); + break; + case Attributes::BarrierPosition::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, barrierPosition)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace UnlockWithTimeout. -namespace SetWeekDaySchedule { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kWeekDayIndex)), weekDayIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDaysMask)), daysMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStartHour)), startHour)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStartMinute)), startMinute)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndHour)), endHour)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndMinute)), endMinute)); - ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } +} // namespace Attributes -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +namespace Events { +} // namespace Events + +} // namespace BarrierControl +namespace PumpConfigurationAndControl { + +namespace Commands { +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; + switch (path.mAttributeId) + { + case Attributes::MaxPressure::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxPressure)); + break; + case Attributes::MaxSpeed::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxSpeed)); + break; + case Attributes::MaxFlow::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxFlow)); + break; + case Attributes::MinConstPressure::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, minConstPressure)); + break; + case Attributes::MaxConstPressure::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxConstPressure)); + break; + case Attributes::MinCompPressure::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, minCompPressure)); + break; + case Attributes::MaxCompPressure::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxCompPressure)); + break; + case Attributes::MinConstSpeed::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, minConstSpeed)); + break; + case Attributes::MaxConstSpeed::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxConstSpeed)); + break; + case Attributes::MinConstFlow::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, minConstFlow)); + break; + case Attributes::MaxConstFlow::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxConstFlow)); + break; + case Attributes::MinConstTemp::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, minConstTemp)); + break; + case Attributes::MaxConstTemp::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxConstTemp)); + break; + case Attributes::PumpStatus::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, pumpStatus)); + break; + case Attributes::EffectiveOperationMode::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, effectiveOperationMode)); + break; + case Attributes::EffectiveControlMode::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, effectiveControlMode)); + break; + case Attributes::Capacity::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, capacity)); + break; + case Attributes::Speed::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, speed)); + break; + case Attributes::LifetimeRunningHours::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, lifetimeRunningHours)); + break; + case Attributes::Power::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, power)); + break; + case Attributes::LifetimeEnergyConsumed::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, lifetimeEnergyConsumed)); + break; + case Attributes::OperationMode::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, operationMode)); + break; + case Attributes::ControlMode::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, controlMode)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; + } + + return CHIP_NO_ERROR; +} +} // namespace Attributes + +namespace Events { +namespace SupplyVoltageLow { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) @@ -12678,27 +12298,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kWeekDayIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, weekDayIndex)); - break; - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); - break; - case to_underlying(Fields::kDaysMask): - ReturnErrorOnFailure(DataModel::Decode(reader, daysMask)); - break; - case to_underlying(Fields::kStartHour): - ReturnErrorOnFailure(DataModel::Decode(reader, startHour)); - break; - case to_underlying(Fields::kStartMinute): - ReturnErrorOnFailure(DataModel::Decode(reader, startMinute)); - break; - case to_underlying(Fields::kEndHour): - ReturnErrorOnFailure(DataModel::Decode(reader, endHour)); - break; - case to_underlying(Fields::kEndMinute): - ReturnErrorOnFailure(DataModel::Decode(reader, endMinute)); - break; default: break; } @@ -12708,14 +12307,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SetWeekDaySchedule. -namespace GetWeekDaySchedule { +} // namespace SupplyVoltageLow. +namespace SupplyVoltageHigh { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kWeekDayIndex)), weekDayIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -12734,12 +12331,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kWeekDayIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, weekDayIndex)); - break; - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); - break; default: break; } @@ -12749,20 +12340,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace GetWeekDaySchedule. -namespace GetWeekDayScheduleResponse { +} // namespace SupplyVoltageHigh. +namespace PowerMissingPhase { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kWeekDayIndex)), weekDayIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDaysMask)), daysMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStartHour)), startHour)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStartMinute)), startMinute)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndHour)), endHour)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndMinute)), endMinute)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -12781,30 +12364,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kWeekDayIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, weekDayIndex)); - break; - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); - break; - case to_underlying(Fields::kStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); - break; - case to_underlying(Fields::kDaysMask): - ReturnErrorOnFailure(DataModel::Decode(reader, daysMask)); - break; - case to_underlying(Fields::kStartHour): - ReturnErrorOnFailure(DataModel::Decode(reader, startHour)); - break; - case to_underlying(Fields::kStartMinute): - ReturnErrorOnFailure(DataModel::Decode(reader, startMinute)); - break; - case to_underlying(Fields::kEndHour): - ReturnErrorOnFailure(DataModel::Decode(reader, endHour)); - break; - case to_underlying(Fields::kEndMinute): - ReturnErrorOnFailure(DataModel::Decode(reader, endMinute)); - break; default: break; } @@ -12814,14 +12373,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace GetWeekDayScheduleResponse. -namespace ClearWeekDaySchedule { +} // namespace PowerMissingPhase. +namespace SystemPressureLow { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kWeekDayIndex)), weekDayIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -12840,12 +12397,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kWeekDayIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, weekDayIndex)); - break; - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); - break; default: break; } @@ -12855,16 +12406,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ClearWeekDaySchedule. -namespace SetYearDaySchedule { +} // namespace SystemPressureLow. +namespace SystemPressureHigh { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kYearDayIndex)), yearDayIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocalStartTime)), localStartTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocalEndTime)), localEndTime)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -12883,18 +12430,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kYearDayIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, yearDayIndex)); - break; - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); - break; - case to_underlying(Fields::kLocalStartTime): - ReturnErrorOnFailure(DataModel::Decode(reader, localStartTime)); - break; - case to_underlying(Fields::kLocalEndTime): - ReturnErrorOnFailure(DataModel::Decode(reader, localEndTime)); - break; default: break; } @@ -12904,14 +12439,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SetYearDaySchedule. -namespace GetYearDaySchedule { +} // namespace SystemPressureHigh. +namespace DryRunning { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kYearDayIndex)), yearDayIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -12930,12 +12463,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kYearDayIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, yearDayIndex)); - break; - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); - break; default: break; } @@ -12945,17 +12472,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace GetYearDaySchedule. -namespace GetYearDayScheduleResponse { +} // namespace DryRunning. +namespace MotorTemperatureHigh { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kYearDayIndex)), yearDayIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocalStartTime)), localStartTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocalEndTime)), localEndTime)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -12974,21 +12496,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kYearDayIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, yearDayIndex)); - break; - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); - break; - case to_underlying(Fields::kStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); - break; - case to_underlying(Fields::kLocalStartTime): - ReturnErrorOnFailure(DataModel::Decode(reader, localStartTime)); - break; - case to_underlying(Fields::kLocalEndTime): - ReturnErrorOnFailure(DataModel::Decode(reader, localEndTime)); - break; default: break; } @@ -12998,14 +12505,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace GetYearDayScheduleResponse. -namespace ClearYearDaySchedule { +} // namespace MotorTemperatureHigh. +namespace PumpMotorFatalFailure { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kYearDayIndex)), yearDayIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -13024,13 +12529,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kYearDayIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, yearDayIndex)); - break; - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); - break; - default: + default: break; } } @@ -13039,16 +12538,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ClearYearDaySchedule. -namespace SetHolidaySchedule { +} // namespace PumpMotorFatalFailure. +namespace ElectronicTemperatureHigh { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHolidayIndex)), holidayIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocalStartTime)), localStartTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocalEndTime)), localEndTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperatingMode)), operatingMode)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -13067,18 +12562,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kHolidayIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, holidayIndex)); - break; - case to_underlying(Fields::kLocalStartTime): - ReturnErrorOnFailure(DataModel::Decode(reader, localStartTime)); - break; - case to_underlying(Fields::kLocalEndTime): - ReturnErrorOnFailure(DataModel::Decode(reader, localEndTime)); - break; - case to_underlying(Fields::kOperatingMode): - ReturnErrorOnFailure(DataModel::Decode(reader, operatingMode)); - break; default: break; } @@ -13088,13 +12571,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SetHolidaySchedule. -namespace GetHolidaySchedule { +} // namespace ElectronicTemperatureHigh. +namespace PumpBlocked { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHolidayIndex)), holidayIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -13113,9 +12595,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kHolidayIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, holidayIndex)); - break; default: break; } @@ -13125,17 +12604,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace GetHolidaySchedule. -namespace GetHolidayScheduleResponse { +} // namespace PumpBlocked. +namespace SensorFailure { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHolidayIndex)), holidayIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocalStartTime)), localStartTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLocalEndTime)), localEndTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperatingMode)), operatingMode)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -13154,21 +12628,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kHolidayIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, holidayIndex)); - break; - case to_underlying(Fields::kStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); - break; - case to_underlying(Fields::kLocalStartTime): - ReturnErrorOnFailure(DataModel::Decode(reader, localStartTime)); - break; - case to_underlying(Fields::kLocalEndTime): - ReturnErrorOnFailure(DataModel::Decode(reader, localEndTime)); - break; - case to_underlying(Fields::kOperatingMode): - ReturnErrorOnFailure(DataModel::Decode(reader, operatingMode)); - break; default: break; } @@ -13178,13 +12637,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace GetHolidayScheduleResponse. -namespace ClearHolidaySchedule { +} // namespace SensorFailure. +namespace ElectronicNonFatalFailure { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHolidayIndex)), holidayIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -13203,9 +12661,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kHolidayIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, holidayIndex)); - break; default: break; } @@ -13215,19 +12670,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ClearHolidaySchedule. -namespace SetUser { +} // namespace ElectronicNonFatalFailure. +namespace ElectronicFatalFailure { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperationType)), operationType)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserName)), userName)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserUniqueId)), userUniqueId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserStatus)), userStatus)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserType)), userType)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentialRule)), credentialRule)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -13246,27 +12694,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kOperationType): - ReturnErrorOnFailure(DataModel::Decode(reader, operationType)); - break; - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); - break; - case to_underlying(Fields::kUserName): - ReturnErrorOnFailure(DataModel::Decode(reader, userName)); - break; - case to_underlying(Fields::kUserUniqueId): - ReturnErrorOnFailure(DataModel::Decode(reader, userUniqueId)); - break; - case to_underlying(Fields::kUserStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, userStatus)); - break; - case to_underlying(Fields::kUserType): - ReturnErrorOnFailure(DataModel::Decode(reader, userType)); - break; - case to_underlying(Fields::kCredentialRule): - ReturnErrorOnFailure(DataModel::Decode(reader, credentialRule)); - break; default: break; } @@ -13276,13 +12703,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SetUser. -namespace GetUser { +} // namespace ElectronicFatalFailure. +namespace GeneralFault { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -13301,9 +12727,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); - break; default: break; } @@ -13313,24 +12736,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace GetUser. -namespace GetUserResponse { +} // namespace GeneralFault. +namespace Leakage { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserName)), userName)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserUniqueId)), userUniqueId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserStatus)), userStatus)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserType)), userType)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentialRule)), credentialRule)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentials)), credentials)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCreatorFabricIndex)), creatorFabricIndex)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLastModifiedFabricIndex)), lastModifiedFabricIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNextUserIndex)), nextUserIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -13349,36 +12760,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); - break; - case to_underlying(Fields::kUserName): - ReturnErrorOnFailure(DataModel::Decode(reader, userName)); - break; - case to_underlying(Fields::kUserUniqueId): - ReturnErrorOnFailure(DataModel::Decode(reader, userUniqueId)); - break; - case to_underlying(Fields::kUserStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, userStatus)); - break; - case to_underlying(Fields::kUserType): - ReturnErrorOnFailure(DataModel::Decode(reader, userType)); - break; - case to_underlying(Fields::kCredentialRule): - ReturnErrorOnFailure(DataModel::Decode(reader, credentialRule)); - break; - case to_underlying(Fields::kCredentials): - ReturnErrorOnFailure(DataModel::Decode(reader, credentials)); - break; - case to_underlying(Fields::kCreatorFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, creatorFabricIndex)); - break; - case to_underlying(Fields::kLastModifiedFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, lastModifiedFabricIndex)); - break; - case to_underlying(Fields::kNextUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, nextUserIndex)); - break; default: break; } @@ -13388,13 +12769,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace GetUserResponse. -namespace ClearUser { +} // namespace Leakage. +namespace AirDetection { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -13413,9 +12793,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); - break; default: break; } @@ -13425,18 +12802,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ClearUser. -namespace SetCredential { +} // namespace AirDetection. +namespace TurbineOperation { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperationType)), operationType)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredential)), credential)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentialData)), credentialData)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserStatus)), userStatus)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserType)), userType)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -13455,24 +12826,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kOperationType): - ReturnErrorOnFailure(DataModel::Decode(reader, operationType)); - break; - case to_underlying(Fields::kCredential): - ReturnErrorOnFailure(DataModel::Decode(reader, credential)); - break; - case to_underlying(Fields::kCredentialData): - ReturnErrorOnFailure(DataModel::Decode(reader, credentialData)); - break; - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); - break; - case to_underlying(Fields::kUserStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, userStatus)); - break; - case to_underlying(Fields::kUserType): - ReturnErrorOnFailure(DataModel::Decode(reader, userType)); - break; default: break; } @@ -13482,16 +12835,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SetCredential. -namespace SetCredentialResponse { +} // namespace TurbineOperation. +} // namespace Events + +} // namespace PumpConfigurationAndControl +namespace Thermostat { +namespace Structs { +namespace ThermostatScheduleTransition { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNextCredentialIndex)), nextCredentialIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHeatSetpoint)), heatSetpoint)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCoolSetpoint)), coolSetpoint)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -13501,7 +12858,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -13510,14 +12868,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); + case to_underlying(Fields::kTransitionTime): + ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); break; - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); + case to_underlying(Fields::kHeatSetpoint): + ReturnErrorOnFailure(DataModel::Decode(reader, heatSetpoint)); break; - case to_underlying(Fields::kNextCredentialIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, nextCredentialIndex)); + case to_underlying(Fields::kCoolSetpoint): + ReturnErrorOnFailure(DataModel::Decode(reader, coolSetpoint)); break; default: break; @@ -13526,15 +12884,21 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace SetCredentialResponse. -namespace GetCredentialStatus { + +} // namespace ThermostatScheduleTransition +} // namespace Structs + +namespace Commands { +namespace SetpointRaiseLower { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredential)), credential)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMode)), mode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAmount)), amount)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -13553,8 +12917,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCredential): - ReturnErrorOnFailure(DataModel::Decode(reader, credential)); + case to_underlying(Fields::kMode): + ReturnErrorOnFailure(DataModel::Decode(reader, mode)); + break; + case to_underlying(Fields::kAmount): + ReturnErrorOnFailure(DataModel::Decode(reader, amount)); break; default: break; @@ -13565,20 +12932,18 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace GetCredentialStatus. -namespace GetCredentialStatusResponse { +} // namespace SetpointRaiseLower. +namespace GetWeeklyScheduleResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentialExists)), credentialExists)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCreatorFabricIndex)), creatorFabricIndex)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLastModifiedFabricIndex)), lastModifiedFabricIndex)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNumberOfTransitionsForSequence)), + numberOfTransitionsForSequence)); ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNextCredentialIndex)), nextCredentialIndex)); + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDayOfWeekForSequence)), dayOfWeekForSequence)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kModeForSequence)), modeForSequence)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitions)), transitions)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -13597,20 +12962,17 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCredentialExists): - ReturnErrorOnFailure(DataModel::Decode(reader, credentialExists)); + case to_underlying(Fields::kNumberOfTransitionsForSequence): + ReturnErrorOnFailure(DataModel::Decode(reader, numberOfTransitionsForSequence)); break; - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); - break; - case to_underlying(Fields::kCreatorFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, creatorFabricIndex)); + case to_underlying(Fields::kDayOfWeekForSequence): + ReturnErrorOnFailure(DataModel::Decode(reader, dayOfWeekForSequence)); break; - case to_underlying(Fields::kLastModifiedFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, lastModifiedFabricIndex)); + case to_underlying(Fields::kModeForSequence): + ReturnErrorOnFailure(DataModel::Decode(reader, modeForSequence)); break; - case to_underlying(Fields::kNextCredentialIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, nextCredentialIndex)); + case to_underlying(Fields::kTransitions): + ReturnErrorOnFailure(DataModel::Decode(reader, transitions)); break; default: break; @@ -13621,13 +12983,18 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace GetCredentialStatusResponse. -namespace ClearCredential { +} // namespace GetWeeklyScheduleResponse. +namespace SetWeeklySchedule { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredential)), credential)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNumberOfTransitionsForSequence)), + numberOfTransitionsForSequence)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDayOfWeekForSequence)), dayOfWeekForSequence)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kModeForSequence)), modeForSequence)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitions)), transitions)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -13646,8 +13013,17 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCredential): - ReturnErrorOnFailure(DataModel::Decode(reader, credential)); + case to_underlying(Fields::kNumberOfTransitionsForSequence): + ReturnErrorOnFailure(DataModel::Decode(reader, numberOfTransitionsForSequence)); + break; + case to_underlying(Fields::kDayOfWeekForSequence): + ReturnErrorOnFailure(DataModel::Decode(reader, dayOfWeekForSequence)); + break; + case to_underlying(Fields::kModeForSequence): + ReturnErrorOnFailure(DataModel::Decode(reader, modeForSequence)); + break; + case to_underlying(Fields::kTransitions): + ReturnErrorOnFailure(DataModel::Decode(reader, transitions)); break; default: break; @@ -13658,152 +13034,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ClearCredential. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::LockState::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lockState)); - break; - case Attributes::LockType::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lockType)); - break; - case Attributes::ActuatorEnabled::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, actuatorEnabled)); - break; - case Attributes::DoorState::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, doorState)); - break; - case Attributes::DoorOpenEvents::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, doorOpenEvents)); - break; - case Attributes::DoorClosedEvents::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, doorClosedEvents)); - break; - case Attributes::OpenPeriod::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, openPeriod)); - break; - case Attributes::NumberOfTotalUsersSupported::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, numberOfTotalUsersSupported)); - break; - case Attributes::NumberOfPINUsersSupported::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, numberOfPINUsersSupported)); - break; - case Attributes::NumberOfRFIDUsersSupported::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, numberOfRFIDUsersSupported)); - break; - case Attributes::NumberOfWeekDaySchedulesSupportedPerUser::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, numberOfWeekDaySchedulesSupportedPerUser)); - break; - case Attributes::NumberOfYearDaySchedulesSupportedPerUser::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, numberOfYearDaySchedulesSupportedPerUser)); - break; - case Attributes::NumberOfHolidaySchedulesSupported::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, numberOfHolidaySchedulesSupported)); - break; - case Attributes::MaxPINCodeLength::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxPINCodeLength)); - break; - case Attributes::MinPINCodeLength::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minPINCodeLength)); - break; - case Attributes::MaxRFIDCodeLength::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxRFIDCodeLength)); - break; - case Attributes::MinRFIDCodeLength::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minRFIDCodeLength)); - break; - case Attributes::CredentialRulesSupport::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, credentialRulesSupport)); - break; - case Attributes::NumberOfCredentialsSupportedPerUser::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, numberOfCredentialsSupportedPerUser)); - break; - case Attributes::Language::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, language)); - break; - case Attributes::LEDSettings::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, LEDSettings)); - break; - case Attributes::AutoRelockTime::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, autoRelockTime)); - break; - case Attributes::SoundVolume::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, soundVolume)); - break; - case Attributes::OperatingMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, operatingMode)); - break; - case Attributes::SupportedOperatingModes::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, supportedOperatingModes)); - break; - case Attributes::DefaultConfigurationRegister::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, defaultConfigurationRegister)); - break; - case Attributes::EnableLocalProgramming::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, enableLocalProgramming)); - break; - case Attributes::EnableOneTouchLocking::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, enableOneTouchLocking)); - break; - case Attributes::EnableInsideStatusLED::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, enableInsideStatusLED)); - break; - case Attributes::EnablePrivacyModeButton::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, enablePrivacyModeButton)); - break; - case Attributes::LocalProgrammingFeatures::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, localProgrammingFeatures)); - break; - case Attributes::WrongCodeEntryLimit::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, wrongCodeEntryLimit)); - break; - case Attributes::UserCodeTemporaryDisableTime::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, userCodeTemporaryDisableTime)); - break; - case Attributes::SendPINOverTheAir::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, sendPINOverTheAir)); - break; - case Attributes::RequirePINforRemoteOperation::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, requirePINforRemoteOperation)); - break; - case Attributes::ExpiringUserTimeout::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, expiringUserTimeout)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -namespace DoorLockAlarm { +} // namespace SetWeeklySchedule. +namespace GetWeeklySchedule { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAlarmCode)), alarmCode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDaysToReturn)), daysToReturn)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kModeToReturn)), modeToReturn)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -13822,8 +13060,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kAlarmCode): - ReturnErrorOnFailure(DataModel::Decode(reader, alarmCode)); + case to_underlying(Fields::kDaysToReturn): + ReturnErrorOnFailure(DataModel::Decode(reader, daysToReturn)); + break; + case to_underlying(Fields::kModeToReturn): + ReturnErrorOnFailure(DataModel::Decode(reader, modeToReturn)); break; default: break; @@ -13834,13 +13075,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace DoorLockAlarm. -namespace DoorStateChange { +} // namespace GetWeeklySchedule. +namespace ClearWeeklySchedule { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDoorState)), doorState)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -13859,9 +13099,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kDoorState): - ReturnErrorOnFailure(DataModel::Decode(reader, doorState)); - break; default: break; } @@ -13871,4087 +13108,160 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace DoorStateChange. -namespace LockOperation { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLockOperationType)), lockOperationType)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperationSource)), operationSource)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSourceNode)), sourceNode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentials)), credentials)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} +} // namespace ClearWeeklySchedule. +} // namespace Commands -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) + switch (path.mAttributeId) { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kLockOperationType): - ReturnErrorOnFailure(DataModel::Decode(reader, lockOperationType)); - break; - case to_underlying(Fields::kOperationSource): - ReturnErrorOnFailure(DataModel::Decode(reader, operationSource)); - break; - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); - break; - case to_underlying(Fields::kFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); - break; - case to_underlying(Fields::kSourceNode): - ReturnErrorOnFailure(DataModel::Decode(reader, sourceNode)); - break; - case to_underlying(Fields::kCredentials): - ReturnErrorOnFailure(DataModel::Decode(reader, credentials)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace LockOperation. -namespace LockOperationError { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLockOperationType)), lockOperationType)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperationSource)), operationSource)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperationError)), operationError)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSourceNode)), sourceNode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCredentials)), credentials)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kLockOperationType): - ReturnErrorOnFailure(DataModel::Decode(reader, lockOperationType)); - break; - case to_underlying(Fields::kOperationSource): - ReturnErrorOnFailure(DataModel::Decode(reader, operationSource)); - break; - case to_underlying(Fields::kOperationError): - ReturnErrorOnFailure(DataModel::Decode(reader, operationError)); - break; - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); - break; - case to_underlying(Fields::kFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); - break; - case to_underlying(Fields::kSourceNode): - ReturnErrorOnFailure(DataModel::Decode(reader, sourceNode)); - break; - case to_underlying(Fields::kCredentials): - ReturnErrorOnFailure(DataModel::Decode(reader, credentials)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace LockOperationError. -namespace LockUserChange { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLockDataType)), lockDataType)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDataOperationType)), dataOperationType)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperationSource)), operationSource)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUserIndex)), userIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kFabricIndex)), fabricIndex)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSourceNode)), sourceNode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDataIndex)), dataIndex)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kLockDataType): - ReturnErrorOnFailure(DataModel::Decode(reader, lockDataType)); - break; - case to_underlying(Fields::kDataOperationType): - ReturnErrorOnFailure(DataModel::Decode(reader, dataOperationType)); - break; - case to_underlying(Fields::kOperationSource): - ReturnErrorOnFailure(DataModel::Decode(reader, operationSource)); - break; - case to_underlying(Fields::kUserIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, userIndex)); - break; - case to_underlying(Fields::kFabricIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, fabricIndex)); - break; - case to_underlying(Fields::kSourceNode): - ReturnErrorOnFailure(DataModel::Decode(reader, sourceNode)); - break; - case to_underlying(Fields::kDataIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, dataIndex)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace LockUserChange. -} // namespace Events - -} // namespace DoorLock -namespace WindowCovering { - -namespace Commands { -namespace UpOrOpen { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace UpOrOpen. -namespace DownOrClose { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace DownOrClose. -namespace StopMotion { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace StopMotion. -namespace GoToLiftValue { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLiftValue)), liftValue)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kLiftValue): - ReturnErrorOnFailure(DataModel::Decode(reader, liftValue)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace GoToLiftValue. -namespace GoToLiftPercentage { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLiftPercent100thsValue)), liftPercent100thsValue)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kLiftPercent100thsValue): - ReturnErrorOnFailure(DataModel::Decode(reader, liftPercent100thsValue)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace GoToLiftPercentage. -namespace GoToTiltValue { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTiltValue)), tiltValue)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kTiltValue): - ReturnErrorOnFailure(DataModel::Decode(reader, tiltValue)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace GoToTiltValue. -namespace GoToTiltPercentage { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTiltPercent100thsValue)), tiltPercent100thsValue)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kTiltPercent100thsValue): - ReturnErrorOnFailure(DataModel::Decode(reader, tiltPercent100thsValue)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace GoToTiltPercentage. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::Type::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, type)); - break; - case Attributes::PhysicalClosedLimitLift::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, physicalClosedLimitLift)); - break; - case Attributes::PhysicalClosedLimitTilt::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, physicalClosedLimitTilt)); - break; - case Attributes::CurrentPositionLift::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentPositionLift)); - break; - case Attributes::CurrentPositionTilt::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentPositionTilt)); - break; - case Attributes::NumberOfActuationsLift::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, numberOfActuationsLift)); - break; - case Attributes::NumberOfActuationsTilt::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, numberOfActuationsTilt)); - break; - case Attributes::ConfigStatus::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, configStatus)); - break; - case Attributes::CurrentPositionLiftPercentage::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentPositionLiftPercentage)); - break; - case Attributes::CurrentPositionTiltPercentage::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentPositionTiltPercentage)); - break; - case Attributes::OperationalStatus::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, operationalStatus)); - break; - case Attributes::TargetPositionLiftPercent100ths::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, targetPositionLiftPercent100ths)); - break; - case Attributes::TargetPositionTiltPercent100ths::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, targetPositionTiltPercent100ths)); - break; - case Attributes::EndProductType::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, endProductType)); - break; - case Attributes::CurrentPositionLiftPercent100ths::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentPositionLiftPercent100ths)); - break; - case Attributes::CurrentPositionTiltPercent100ths::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentPositionTiltPercent100ths)); - break; - case Attributes::InstalledOpenLimitLift::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, installedOpenLimitLift)); - break; - case Attributes::InstalledClosedLimitLift::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, installedClosedLimitLift)); - break; - case Attributes::InstalledOpenLimitTilt::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, installedOpenLimitTilt)); - break; - case Attributes::InstalledClosedLimitTilt::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, installedClosedLimitTilt)); - break; - case Attributes::Mode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, mode)); - break; - case Attributes::SafetyStatus::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, safetyStatus)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace WindowCovering -namespace BarrierControl { - -namespace Commands { -namespace BarrierControlGoToPercent { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPercentOpen)), percentOpen)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kPercentOpen): - ReturnErrorOnFailure(DataModel::Decode(reader, percentOpen)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace BarrierControlGoToPercent. -namespace BarrierControlStop { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace BarrierControlStop. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::BarrierMovingState::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, barrierMovingState)); - break; - case Attributes::BarrierSafetyStatus::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, barrierSafetyStatus)); - break; - case Attributes::BarrierCapabilities::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, barrierCapabilities)); - break; - case Attributes::BarrierOpenEvents::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, barrierOpenEvents)); - break; - case Attributes::BarrierCloseEvents::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, barrierCloseEvents)); - break; - case Attributes::BarrierCommandOpenEvents::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, barrierCommandOpenEvents)); - break; - case Attributes::BarrierCommandCloseEvents::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, barrierCommandCloseEvents)); - break; - case Attributes::BarrierOpenPeriod::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, barrierOpenPeriod)); - break; - case Attributes::BarrierClosePeriod::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, barrierClosePeriod)); - break; - case Attributes::BarrierPosition::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, barrierPosition)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace BarrierControl -namespace PumpConfigurationAndControl { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MaxPressure::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxPressure)); - break; - case Attributes::MaxSpeed::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxSpeed)); - break; - case Attributes::MaxFlow::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxFlow)); - break; - case Attributes::MinConstPressure::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minConstPressure)); - break; - case Attributes::MaxConstPressure::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxConstPressure)); - break; - case Attributes::MinCompPressure::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minCompPressure)); - break; - case Attributes::MaxCompPressure::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxCompPressure)); - break; - case Attributes::MinConstSpeed::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minConstSpeed)); - break; - case Attributes::MaxConstSpeed::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxConstSpeed)); - break; - case Attributes::MinConstFlow::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minConstFlow)); - break; - case Attributes::MaxConstFlow::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxConstFlow)); - break; - case Attributes::MinConstTemp::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minConstTemp)); - break; - case Attributes::MaxConstTemp::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxConstTemp)); - break; - case Attributes::PumpStatus::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, pumpStatus)); - break; - case Attributes::EffectiveOperationMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, effectiveOperationMode)); - break; - case Attributes::EffectiveControlMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, effectiveControlMode)); - break; - case Attributes::Capacity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, capacity)); - break; - case Attributes::Speed::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, speed)); - break; - case Attributes::LifetimeRunningHours::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lifetimeRunningHours)); - break; - case Attributes::Power::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, power)); - break; - case Attributes::LifetimeEnergyConsumed::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lifetimeEnergyConsumed)); - break; - case Attributes::OperationMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, operationMode)); - break; - case Attributes::ControlMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, controlMode)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -namespace SupplyVoltageLow { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace SupplyVoltageLow. -namespace SupplyVoltageHigh { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace SupplyVoltageHigh. -namespace PowerMissingPhase { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace PowerMissingPhase. -namespace SystemPressureLow { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace SystemPressureLow. -namespace SystemPressureHigh { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace SystemPressureHigh. -namespace DryRunning { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace DryRunning. -namespace MotorTemperatureHigh { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace MotorTemperatureHigh. -namespace PumpMotorFatalFailure { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace PumpMotorFatalFailure. -namespace ElectronicTemperatureHigh { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace ElectronicTemperatureHigh. -namespace PumpBlocked { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace PumpBlocked. -namespace SensorFailure { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace SensorFailure. -namespace ElectronicNonFatalFailure { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace ElectronicNonFatalFailure. -namespace ElectronicFatalFailure { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace ElectronicFatalFailure. -namespace GeneralFault { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace GeneralFault. -namespace Leakage { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace Leakage. -namespace AirDetection { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace AirDetection. -namespace TurbineOperation { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace TurbineOperation. -} // namespace Events - -} // namespace PumpConfigurationAndControl -namespace Thermostat { -namespace Structs { -namespace ThermostatScheduleTransition { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHeatSetpoint)), heatSetpoint)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCoolSetpoint)), coolSetpoint)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kTransitionTime): - ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); - break; - case to_underlying(Fields::kHeatSetpoint): - ReturnErrorOnFailure(DataModel::Decode(reader, heatSetpoint)); - break; - case to_underlying(Fields::kCoolSetpoint): - ReturnErrorOnFailure(DataModel::Decode(reader, coolSetpoint)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - - return CHIP_NO_ERROR; -} - -} // namespace ThermostatScheduleTransition -} // namespace Structs - -namespace Commands { -namespace SetpointRaiseLower { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMode)), mode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAmount)), amount)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kMode): - ReturnErrorOnFailure(DataModel::Decode(reader, mode)); - break; - case to_underlying(Fields::kAmount): - ReturnErrorOnFailure(DataModel::Decode(reader, amount)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace SetpointRaiseLower. -namespace GetWeeklyScheduleResponse { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNumberOfTransitionsForSequence)), - numberOfTransitionsForSequence)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDayOfWeekForSequence)), dayOfWeekForSequence)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kModeForSequence)), modeForSequence)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitions)), transitions)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kNumberOfTransitionsForSequence): - ReturnErrorOnFailure(DataModel::Decode(reader, numberOfTransitionsForSequence)); - break; - case to_underlying(Fields::kDayOfWeekForSequence): - ReturnErrorOnFailure(DataModel::Decode(reader, dayOfWeekForSequence)); - break; - case to_underlying(Fields::kModeForSequence): - ReturnErrorOnFailure(DataModel::Decode(reader, modeForSequence)); - break; - case to_underlying(Fields::kTransitions): - ReturnErrorOnFailure(DataModel::Decode(reader, transitions)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace GetWeeklyScheduleResponse. -namespace SetWeeklySchedule { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kNumberOfTransitionsForSequence)), - numberOfTransitionsForSequence)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDayOfWeekForSequence)), dayOfWeekForSequence)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kModeForSequence)), modeForSequence)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitions)), transitions)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kNumberOfTransitionsForSequence): - ReturnErrorOnFailure(DataModel::Decode(reader, numberOfTransitionsForSequence)); - break; - case to_underlying(Fields::kDayOfWeekForSequence): - ReturnErrorOnFailure(DataModel::Decode(reader, dayOfWeekForSequence)); - break; - case to_underlying(Fields::kModeForSequence): - ReturnErrorOnFailure(DataModel::Decode(reader, modeForSequence)); - break; - case to_underlying(Fields::kTransitions): - ReturnErrorOnFailure(DataModel::Decode(reader, transitions)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace SetWeeklySchedule. -namespace GetWeeklySchedule { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDaysToReturn)), daysToReturn)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kModeToReturn)), modeToReturn)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kDaysToReturn): - ReturnErrorOnFailure(DataModel::Decode(reader, daysToReturn)); - break; - case to_underlying(Fields::kModeToReturn): - ReturnErrorOnFailure(DataModel::Decode(reader, modeToReturn)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace GetWeeklySchedule. -namespace ClearWeeklySchedule { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace ClearWeeklySchedule. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::LocalTemperature::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, localTemperature)); - break; - case Attributes::OutdoorTemperature::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, outdoorTemperature)); - break; - case Attributes::Occupancy::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, occupancy)); - break; - case Attributes::AbsMinHeatSetpointLimit::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, absMinHeatSetpointLimit)); - break; - case Attributes::AbsMaxHeatSetpointLimit::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, absMaxHeatSetpointLimit)); - break; - case Attributes::AbsMinCoolSetpointLimit::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, absMinCoolSetpointLimit)); - break; - case Attributes::AbsMaxCoolSetpointLimit::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, absMaxCoolSetpointLimit)); - break; - case Attributes::PICoolingDemand::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, PICoolingDemand)); - break; - case Attributes::PIHeatingDemand::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, PIHeatingDemand)); - break; - case Attributes::HVACSystemTypeConfiguration::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, HVACSystemTypeConfiguration)); - break; - case Attributes::LocalTemperatureCalibration::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, localTemperatureCalibration)); - break; - case Attributes::OccupiedCoolingSetpoint::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, occupiedCoolingSetpoint)); - break; - case Attributes::OccupiedHeatingSetpoint::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, occupiedHeatingSetpoint)); - break; - case Attributes::UnoccupiedCoolingSetpoint::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, unoccupiedCoolingSetpoint)); - break; - case Attributes::UnoccupiedHeatingSetpoint::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, unoccupiedHeatingSetpoint)); - break; - case Attributes::MinHeatSetpointLimit::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minHeatSetpointLimit)); - break; - case Attributes::MaxHeatSetpointLimit::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxHeatSetpointLimit)); - break; - case Attributes::MinCoolSetpointLimit::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minCoolSetpointLimit)); - break; - case Attributes::MaxCoolSetpointLimit::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxCoolSetpointLimit)); - break; - case Attributes::MinSetpointDeadBand::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minSetpointDeadBand)); - break; - case Attributes::RemoteSensing::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, remoteSensing)); - break; - case Attributes::ControlSequenceOfOperation::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, controlSequenceOfOperation)); - break; - case Attributes::SystemMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, systemMode)); - break; - case Attributes::ThermostatRunningMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, thermostatRunningMode)); - break; - case Attributes::StartOfWeek::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, startOfWeek)); - break; - case Attributes::NumberOfWeeklyTransitions::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, numberOfWeeklyTransitions)); - break; - case Attributes::NumberOfDailyTransitions::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, numberOfDailyTransitions)); - break; - case Attributes::TemperatureSetpointHold::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, temperatureSetpointHold)); - break; - case Attributes::TemperatureSetpointHoldDuration::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, temperatureSetpointHoldDuration)); - break; - case Attributes::ThermostatProgrammingOperationMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, thermostatProgrammingOperationMode)); - break; - case Attributes::ThermostatRunningState::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, thermostatRunningState)); - break; - case Attributes::SetpointChangeSource::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, setpointChangeSource)); - break; - case Attributes::SetpointChangeAmount::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, setpointChangeAmount)); - break; - case Attributes::SetpointChangeSourceTimestamp::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, setpointChangeSourceTimestamp)); - break; - case Attributes::OccupiedSetback::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, occupiedSetback)); - break; - case Attributes::OccupiedSetbackMin::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, occupiedSetbackMin)); - break; - case Attributes::OccupiedSetbackMax::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, occupiedSetbackMax)); - break; - case Attributes::UnoccupiedSetback::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, unoccupiedSetback)); - break; - case Attributes::UnoccupiedSetbackMin::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, unoccupiedSetbackMin)); - break; - case Attributes::UnoccupiedSetbackMax::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, unoccupiedSetbackMax)); - break; - case Attributes::EmergencyHeatDelta::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, emergencyHeatDelta)); - break; - case Attributes::ACType::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, ACType)); - break; - case Attributes::ACCapacity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, ACCapacity)); - break; - case Attributes::ACRefrigerantType::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, ACRefrigerantType)); - break; - case Attributes::ACCompressorType::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, ACCompressorType)); - break; - case Attributes::ACErrorCode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, ACErrorCode)); - break; - case Attributes::ACLouverPosition::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, ACLouverPosition)); - break; - case Attributes::ACCoilTemperature::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, ACCoilTemperature)); - break; - case Attributes::ACCapacityformat::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, ACCapacityformat)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace Thermostat -namespace FanControl { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::FanMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, fanMode)); - break; - case Attributes::FanModeSequence::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, fanModeSequence)); - break; - case Attributes::PercentSetting::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, percentSetting)); - break; - case Attributes::PercentCurrent::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, percentCurrent)); - break; - case Attributes::SpeedMax::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, speedMax)); - break; - case Attributes::SpeedSetting::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, speedSetting)); - break; - case Attributes::SpeedCurrent::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, speedCurrent)); - break; - case Attributes::RockSupport::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rockSupport)); - break; - case Attributes::RockSetting::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rockSetting)); - break; - case Attributes::WindSupport::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, windSupport)); - break; - case Attributes::WindSetting::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, windSetting)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace FanControl -namespace DehumidificationControl { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::RelativeHumidity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, relativeHumidity)); - break; - case Attributes::DehumidificationCooling::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, dehumidificationCooling)); - break; - case Attributes::RhDehumidificationSetpoint::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, rhDehumidificationSetpoint)); - break; - case Attributes::RelativeHumidityMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, relativeHumidityMode)); - break; - case Attributes::DehumidificationLockout::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, dehumidificationLockout)); - break; - case Attributes::DehumidificationHysteresis::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, dehumidificationHysteresis)); - break; - case Attributes::DehumidificationMaxCool::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, dehumidificationMaxCool)); - break; - case Attributes::RelativeHumidityDisplay::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, relativeHumidityDisplay)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace DehumidificationControl -namespace ThermostatUserInterfaceConfiguration { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::TemperatureDisplayMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, temperatureDisplayMode)); - break; - case Attributes::KeypadLockout::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, keypadLockout)); - break; - case Attributes::ScheduleProgrammingVisibility::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, scheduleProgrammingVisibility)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace ThermostatUserInterfaceConfiguration -namespace ColorControl { - -namespace Commands { -namespace MoveToHue { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHue)), hue)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDirection)), direction)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kHue): - ReturnErrorOnFailure(DataModel::Decode(reader, hue)); - break; - case to_underlying(Fields::kDirection): - ReturnErrorOnFailure(DataModel::Decode(reader, direction)); - break; - case to_underlying(Fields::kTransitionTime): - ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace MoveToHue. -namespace MoveHue { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMoveMode)), moveMode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRate)), rate)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kMoveMode): - ReturnErrorOnFailure(DataModel::Decode(reader, moveMode)); - break; - case to_underlying(Fields::kRate): - ReturnErrorOnFailure(DataModel::Decode(reader, rate)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace MoveHue. -namespace StepHue { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepMode)), stepMode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepSize)), stepSize)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kStepMode): - ReturnErrorOnFailure(DataModel::Decode(reader, stepMode)); - break; - case to_underlying(Fields::kStepSize): - ReturnErrorOnFailure(DataModel::Decode(reader, stepSize)); - break; - case to_underlying(Fields::kTransitionTime): - ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace StepHue. -namespace MoveToSaturation { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSaturation)), saturation)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kSaturation): - ReturnErrorOnFailure(DataModel::Decode(reader, saturation)); - break; - case to_underlying(Fields::kTransitionTime): - ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace MoveToSaturation. -namespace MoveSaturation { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMoveMode)), moveMode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRate)), rate)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kMoveMode): - ReturnErrorOnFailure(DataModel::Decode(reader, moveMode)); - break; - case to_underlying(Fields::kRate): - ReturnErrorOnFailure(DataModel::Decode(reader, rate)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace MoveSaturation. -namespace StepSaturation { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepMode)), stepMode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepSize)), stepSize)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kStepMode): - ReturnErrorOnFailure(DataModel::Decode(reader, stepMode)); - break; - case to_underlying(Fields::kStepSize): - ReturnErrorOnFailure(DataModel::Decode(reader, stepSize)); - break; - case to_underlying(Fields::kTransitionTime): - ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace StepSaturation. -namespace MoveToHueAndSaturation { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHue)), hue)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSaturation)), saturation)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kHue): - ReturnErrorOnFailure(DataModel::Decode(reader, hue)); - break; - case to_underlying(Fields::kSaturation): - ReturnErrorOnFailure(DataModel::Decode(reader, saturation)); - break; - case to_underlying(Fields::kTransitionTime): - ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace MoveToHueAndSaturation. -namespace MoveToColor { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kColorX)), colorX)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kColorY)), colorY)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kColorX): - ReturnErrorOnFailure(DataModel::Decode(reader, colorX)); - break; - case to_underlying(Fields::kColorY): - ReturnErrorOnFailure(DataModel::Decode(reader, colorY)); - break; - case to_underlying(Fields::kTransitionTime): - ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace MoveToColor. -namespace MoveColor { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRateX)), rateX)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRateY)), rateY)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kRateX): - ReturnErrorOnFailure(DataModel::Decode(reader, rateX)); - break; - case to_underlying(Fields::kRateY): - ReturnErrorOnFailure(DataModel::Decode(reader, rateY)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace MoveColor. -namespace StepColor { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepX)), stepX)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepY)), stepY)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kStepX): - ReturnErrorOnFailure(DataModel::Decode(reader, stepX)); - break; - case to_underlying(Fields::kStepY): - ReturnErrorOnFailure(DataModel::Decode(reader, stepY)); - break; - case to_underlying(Fields::kTransitionTime): - ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace StepColor. -namespace MoveToColorTemperature { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kColorTemperature)), colorTemperature)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kColorTemperature): - ReturnErrorOnFailure(DataModel::Decode(reader, colorTemperature)); - break; - case to_underlying(Fields::kTransitionTime): - ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace MoveToColorTemperature. -namespace EnhancedMoveToHue { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEnhancedHue)), enhancedHue)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDirection)), direction)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kEnhancedHue): - ReturnErrorOnFailure(DataModel::Decode(reader, enhancedHue)); - break; - case to_underlying(Fields::kDirection): - ReturnErrorOnFailure(DataModel::Decode(reader, direction)); - break; - case to_underlying(Fields::kTransitionTime): - ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace EnhancedMoveToHue. -namespace EnhancedMoveHue { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMoveMode)), moveMode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRate)), rate)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kMoveMode): - ReturnErrorOnFailure(DataModel::Decode(reader, moveMode)); - break; - case to_underlying(Fields::kRate): - ReturnErrorOnFailure(DataModel::Decode(reader, rate)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace EnhancedMoveHue. -namespace EnhancedStepHue { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepMode)), stepMode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepSize)), stepSize)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kStepMode): - ReturnErrorOnFailure(DataModel::Decode(reader, stepMode)); - break; - case to_underlying(Fields::kStepSize): - ReturnErrorOnFailure(DataModel::Decode(reader, stepSize)); - break; - case to_underlying(Fields::kTransitionTime): - ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace EnhancedStepHue. -namespace EnhancedMoveToHueAndSaturation { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEnhancedHue)), enhancedHue)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSaturation)), saturation)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kEnhancedHue): - ReturnErrorOnFailure(DataModel::Decode(reader, enhancedHue)); - break; - case to_underlying(Fields::kSaturation): - ReturnErrorOnFailure(DataModel::Decode(reader, saturation)); - break; - case to_underlying(Fields::kTransitionTime): - ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace EnhancedMoveToHueAndSaturation. -namespace ColorLoopSet { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUpdateFlags)), updateFlags)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAction)), action)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDirection)), direction)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTime)), time)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStartHue)), startHue)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kUpdateFlags): - ReturnErrorOnFailure(DataModel::Decode(reader, updateFlags)); - break; - case to_underlying(Fields::kAction): - ReturnErrorOnFailure(DataModel::Decode(reader, action)); - break; - case to_underlying(Fields::kDirection): - ReturnErrorOnFailure(DataModel::Decode(reader, direction)); - break; - case to_underlying(Fields::kTime): - ReturnErrorOnFailure(DataModel::Decode(reader, time)); - break; - case to_underlying(Fields::kStartHue): - ReturnErrorOnFailure(DataModel::Decode(reader, startHue)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace ColorLoopSet. -namespace StopMoveStep { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace StopMoveStep. -namespace MoveColorTemperature { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMoveMode)), moveMode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRate)), rate)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kColorTemperatureMinimumMireds)), - colorTemperatureMinimumMireds)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kColorTemperatureMaximumMireds)), - colorTemperatureMaximumMireds)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kMoveMode): - ReturnErrorOnFailure(DataModel::Decode(reader, moveMode)); - break; - case to_underlying(Fields::kRate): - ReturnErrorOnFailure(DataModel::Decode(reader, rate)); - break; - case to_underlying(Fields::kColorTemperatureMinimumMireds): - ReturnErrorOnFailure(DataModel::Decode(reader, colorTemperatureMinimumMireds)); - break; - case to_underlying(Fields::kColorTemperatureMaximumMireds): - ReturnErrorOnFailure(DataModel::Decode(reader, colorTemperatureMaximumMireds)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace MoveColorTemperature. -namespace StepColorTemperature { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepMode)), stepMode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepSize)), stepSize)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kColorTemperatureMinimumMireds)), - colorTemperatureMinimumMireds)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kColorTemperatureMaximumMireds)), - colorTemperatureMaximumMireds)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kStepMode): - ReturnErrorOnFailure(DataModel::Decode(reader, stepMode)); - break; - case to_underlying(Fields::kStepSize): - ReturnErrorOnFailure(DataModel::Decode(reader, stepSize)); - break; - case to_underlying(Fields::kTransitionTime): - ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); - break; - case to_underlying(Fields::kColorTemperatureMinimumMireds): - ReturnErrorOnFailure(DataModel::Decode(reader, colorTemperatureMinimumMireds)); - break; - case to_underlying(Fields::kColorTemperatureMaximumMireds): - ReturnErrorOnFailure(DataModel::Decode(reader, colorTemperatureMaximumMireds)); - break; - case to_underlying(Fields::kOptionsMask): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); - break; - case to_underlying(Fields::kOptionsOverride): - ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); - break; - default: - break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace StepColorTemperature. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::CurrentHue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentHue)); - break; - case Attributes::CurrentSaturation::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentSaturation)); - break; - case Attributes::RemainingTime::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, remainingTime)); - break; - case Attributes::CurrentX::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentX)); - break; - case Attributes::CurrentY::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentY)); - break; - case Attributes::DriftCompensation::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, driftCompensation)); - break; - case Attributes::CompensationText::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, compensationText)); - break; - case Attributes::ColorTemperature::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorTemperature)); - break; - case Attributes::ColorMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorMode)); - break; - case Attributes::Options::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, options)); - break; - case Attributes::NumberOfPrimaries::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, numberOfPrimaries)); - break; - case Attributes::Primary1X::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary1X)); - break; - case Attributes::Primary1Y::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary1Y)); - break; - case Attributes::Primary1Intensity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary1Intensity)); - break; - case Attributes::Primary2X::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary2X)); - break; - case Attributes::Primary2Y::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary2Y)); - break; - case Attributes::Primary2Intensity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary2Intensity)); - break; - case Attributes::Primary3X::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary3X)); - break; - case Attributes::Primary3Y::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary3Y)); - break; - case Attributes::Primary3Intensity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary3Intensity)); - break; - case Attributes::Primary4X::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary4X)); - break; - case Attributes::Primary4Y::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary4Y)); - break; - case Attributes::Primary4Intensity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary4Intensity)); - break; - case Attributes::Primary5X::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary5X)); - break; - case Attributes::Primary5Y::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary5Y)); - break; - case Attributes::Primary5Intensity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary5Intensity)); - break; - case Attributes::Primary6X::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary6X)); - break; - case Attributes::Primary6Y::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary6Y)); - break; - case Attributes::Primary6Intensity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, primary6Intensity)); - break; - case Attributes::WhitePointX::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, whitePointX)); - break; - case Attributes::WhitePointY::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, whitePointY)); - break; - case Attributes::ColorPointRX::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorPointRX)); - break; - case Attributes::ColorPointRY::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorPointRY)); - break; - case Attributes::ColorPointRIntensity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorPointRIntensity)); - break; - case Attributes::ColorPointGX::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorPointGX)); - break; - case Attributes::ColorPointGY::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorPointGY)); - break; - case Attributes::ColorPointGIntensity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorPointGIntensity)); - break; - case Attributes::ColorPointBX::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorPointBX)); - break; - case Attributes::ColorPointBY::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorPointBY)); - break; - case Attributes::ColorPointBIntensity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorPointBIntensity)); - break; - case Attributes::EnhancedCurrentHue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, enhancedCurrentHue)); - break; - case Attributes::EnhancedColorMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, enhancedColorMode)); - break; - case Attributes::ColorLoopActive::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorLoopActive)); - break; - case Attributes::ColorLoopDirection::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorLoopDirection)); - break; - case Attributes::ColorLoopTime::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorLoopTime)); - break; - case Attributes::ColorLoopStartEnhancedHue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorLoopStartEnhancedHue)); - break; - case Attributes::ColorLoopStoredEnhancedHue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorLoopStoredEnhancedHue)); - break; - case Attributes::ColorCapabilities::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorCapabilities)); - break; - case Attributes::ColorTempPhysicalMinMireds::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorTempPhysicalMinMireds)); - break; - case Attributes::ColorTempPhysicalMaxMireds::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, colorTempPhysicalMaxMireds)); - break; - case Attributes::CoupleColorTempToLevelMinMireds::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, coupleColorTempToLevelMinMireds)); - break; - case Attributes::StartUpColorTemperatureMireds::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, startUpColorTemperatureMireds)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace ColorControl -namespace BallastConfiguration { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::PhysicalMinLevel::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, physicalMinLevel)); - break; - case Attributes::PhysicalMaxLevel::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, physicalMaxLevel)); - break; - case Attributes::BallastStatus::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, ballastStatus)); - break; - case Attributes::MinLevel::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minLevel)); - break; - case Attributes::MaxLevel::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxLevel)); - break; - case Attributes::IntrinsicBalanceFactor::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, intrinsicBalanceFactor)); - break; - case Attributes::BallastFactorAdjustment::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, ballastFactorAdjustment)); - break; - case Attributes::LampQuantity::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lampQuantity)); - break; - case Attributes::LampType::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lampType)); - break; - case Attributes::LampManufacturer::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lampManufacturer)); - break; - case Attributes::LampRatedHours::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lampRatedHours)); - break; - case Attributes::LampBurnHours::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lampBurnHours)); - break; - case Attributes::LampAlarmMode::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lampAlarmMode)); - break; - case Attributes::LampBurnHoursTripPoint::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lampBurnHoursTripPoint)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace BallastConfiguration -namespace IlluminanceMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::LightSensorType::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lightSensorType)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace IlluminanceMeasurement -namespace TemperatureMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace TemperatureMeasurement -namespace PressureMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::ScaledValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, scaledValue)); - break; - case Attributes::MinScaledValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minScaledValue)); - break; - case Attributes::MaxScaledValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxScaledValue)); - break; - case Attributes::ScaledTolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, scaledTolerance)); - break; - case Attributes::Scale::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, scale)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace PressureMeasurement -namespace FlowMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace FlowMeasurement -namespace RelativeHumidityMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace RelativeHumidityMeasurement -namespace OccupancySensing { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::Occupancy::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, occupancy)); - break; - case Attributes::OccupancySensorType::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, occupancySensorType)); - break; - case Attributes::OccupancySensorTypeBitmap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, occupancySensorTypeBitmap)); - break; - case Attributes::PirOccupiedToUnoccupiedDelay::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, pirOccupiedToUnoccupiedDelay)); - break; - case Attributes::PirUnoccupiedToOccupiedDelay::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, pirUnoccupiedToOccupiedDelay)); - break; - case Attributes::PirUnoccupiedToOccupiedThreshold::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, pirUnoccupiedToOccupiedThreshold)); - break; - case Attributes::UltrasonicOccupiedToUnoccupiedDelay::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, ultrasonicOccupiedToUnoccupiedDelay)); - break; - case Attributes::UltrasonicUnoccupiedToOccupiedDelay::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, ultrasonicUnoccupiedToOccupiedDelay)); - break; - case Attributes::UltrasonicUnoccupiedToOccupiedThreshold::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, ultrasonicUnoccupiedToOccupiedThreshold)); - break; - case Attributes::PhysicalContactOccupiedToUnoccupiedDelay::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, physicalContactOccupiedToUnoccupiedDelay)); - break; - case Attributes::PhysicalContactUnoccupiedToOccupiedDelay::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, physicalContactUnoccupiedToOccupiedDelay)); - break; - case Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, physicalContactUnoccupiedToOccupiedThreshold)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace OccupancySensing -namespace CarbonMonoxideConcentrationMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace CarbonMonoxideConcentrationMeasurement -namespace CarbonDioxideConcentrationMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace CarbonDioxideConcentrationMeasurement -namespace EthyleneConcentrationMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace EthyleneConcentrationMeasurement -namespace EthyleneOxideConcentrationMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace EthyleneOxideConcentrationMeasurement -namespace HydrogenConcentrationMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace HydrogenConcentrationMeasurement -namespace HydrogenSulphideConcentrationMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + case Attributes::LocalTemperature::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, localTemperature)); break; - default: + case Attributes::OutdoorTemperature::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, outdoorTemperature)); break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace HydrogenSulphideConcentrationMeasurement -namespace NitricOxideConcentrationMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); + case Attributes::Occupancy::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, occupancy)); break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); + case Attributes::AbsMinHeatSetpointLimit::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, absMinHeatSetpointLimit)); break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); + case Attributes::AbsMaxHeatSetpointLimit::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, absMaxHeatSetpointLimit)); break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); + case Attributes::AbsMinCoolSetpointLimit::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, absMinCoolSetpointLimit)); break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + case Attributes::AbsMaxCoolSetpointLimit::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, absMaxCoolSetpointLimit)); break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + case Attributes::PICoolingDemand::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, PICoolingDemand)); break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + case Attributes::PIHeatingDemand::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, PIHeatingDemand)); break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + case Attributes::HVACSystemTypeConfiguration::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, HVACSystemTypeConfiguration)); break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + case Attributes::LocalTemperatureCalibration::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, localTemperatureCalibration)); break; - default: + case Attributes::OccupiedCoolingSetpoint::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, occupiedCoolingSetpoint)); break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace NitricOxideConcentrationMeasurement -namespace NitrogenDioxideConcentrationMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); + case Attributes::OccupiedHeatingSetpoint::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, occupiedHeatingSetpoint)); break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); + case Attributes::UnoccupiedCoolingSetpoint::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, unoccupiedCoolingSetpoint)); break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); + case Attributes::UnoccupiedHeatingSetpoint::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, unoccupiedHeatingSetpoint)); break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); + case Attributes::MinHeatSetpointLimit::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, minHeatSetpointLimit)); break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + case Attributes::MaxHeatSetpointLimit::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxHeatSetpointLimit)); break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + case Attributes::MinCoolSetpointLimit::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, minCoolSetpointLimit)); break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + case Attributes::MaxCoolSetpointLimit::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxCoolSetpointLimit)); break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + case Attributes::MinSetpointDeadBand::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, minSetpointDeadBand)); break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + case Attributes::RemoteSensing::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, remoteSensing)); break; - default: + case Attributes::ControlSequenceOfOperation::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, controlSequenceOfOperation)); break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace NitrogenDioxideConcentrationMeasurement -namespace OxygenConcentrationMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); + case Attributes::SystemMode::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, systemMode)); break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); + case Attributes::ThermostatRunningMode::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, thermostatRunningMode)); break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); + case Attributes::StartOfWeek::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, startOfWeek)); break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); + case Attributes::NumberOfWeeklyTransitions::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, numberOfWeeklyTransitions)); break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + case Attributes::NumberOfDailyTransitions::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, numberOfDailyTransitions)); break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + case Attributes::TemperatureSetpointHold::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, temperatureSetpointHold)); break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + case Attributes::TemperatureSetpointHoldDuration::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, temperatureSetpointHoldDuration)); break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + case Attributes::ThermostatProgrammingOperationMode::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, thermostatProgrammingOperationMode)); break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + case Attributes::ThermostatRunningState::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, thermostatRunningState)); break; - default: + case Attributes::SetpointChangeSource::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, setpointChangeSource)); break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace OxygenConcentrationMeasurement -namespace OzoneConcentrationMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); + case Attributes::SetpointChangeAmount::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, setpointChangeAmount)); break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); + case Attributes::SetpointChangeSourceTimestamp::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, setpointChangeSourceTimestamp)); break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); + case Attributes::OccupiedSetback::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, occupiedSetback)); break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); + case Attributes::OccupiedSetbackMin::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, occupiedSetbackMin)); break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + case Attributes::OccupiedSetbackMax::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, occupiedSetbackMax)); break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + case Attributes::UnoccupiedSetback::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, unoccupiedSetback)); break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + case Attributes::UnoccupiedSetbackMin::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, unoccupiedSetbackMin)); break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + case Attributes::UnoccupiedSetbackMax::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, unoccupiedSetbackMax)); break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + case Attributes::EmergencyHeatDelta::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, emergencyHeatDelta)); break; - default: + case Attributes::ACType::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, ACType)); break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace OzoneConcentrationMeasurement -namespace SulfurDioxideConcentrationMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); + case Attributes::ACCapacity::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, ACCapacity)); + break; + case Attributes::ACRefrigerantType::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, ACRefrigerantType)); break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); + case Attributes::ACCompressorType::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, ACCompressorType)); break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); + case Attributes::ACErrorCode::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, ACErrorCode)); break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); + case Attributes::ACLouverPosition::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, ACLouverPosition)); + break; + case Attributes::ACCoilTemperature::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, ACCoilTemperature)); + break; + case Attributes::ACCapacityformat::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, ACCapacityformat)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -17979,8 +13289,8 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events { } // namespace Events -} // namespace SulfurDioxideConcentrationMeasurement -namespace DissolvedOxygenConcentrationMeasurement { +} // namespace Thermostat +namespace FanControl { namespace Commands { } // namespace Commands @@ -17990,66 +13300,38 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); + case Attributes::FanMode::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, fanMode)); break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + case Attributes::FanModeSequence::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, fanModeSequence)); break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + case Attributes::PercentSetting::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, percentSetting)); break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + case Attributes::PercentCurrent::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, percentCurrent)); break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + case Attributes::SpeedMax::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, speedMax)); break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + case Attributes::SpeedSetting::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, speedSetting)); break; - default: + case Attributes::SpeedCurrent::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, speedCurrent)); break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace DissolvedOxygenConcentrationMeasurement -namespace BromateConcentrationMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); + case Attributes::RockSupport::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rockSupport)); break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); + case Attributes::RockSetting::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, rockSetting)); break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); + case Attributes::WindSupport::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, windSupport)); break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); + case Attributes::WindSetting::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, windSetting)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -18077,8 +13359,8 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events { } // namespace Events -} // namespace BromateConcentrationMeasurement -namespace ChloraminesConcentrationMeasurement { +} // namespace FanControl +namespace ThermostatUserInterfaceConfiguration { namespace Commands { } // namespace Commands @@ -18088,17 +13370,14 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); + case Attributes::TemperatureDisplayMode::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, temperatureDisplayMode)); break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); + case Attributes::KeypadLockout::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, keypadLockout)); break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); + case Attributes::ScheduleProgrammingVisibility::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, scheduleProgrammingVisibility)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -18126,843 +13405,896 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events { } // namespace Events -} // namespace ChloraminesConcentrationMeasurement -namespace ChlorineConcentrationMeasurement { +} // namespace ThermostatUserInterfaceConfiguration +namespace ColorControl { namespace Commands { -} // namespace Commands +namespace MoveToHue { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHue)), hue)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDirection)), direction)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kHue): + ReturnErrorOnFailure(DataModel::Decode(reader, hue)); + break; + case to_underlying(Fields::kDirection): + ReturnErrorOnFailure(DataModel::Decode(reader, direction)); + break; + case to_underlying(Fields::kTransitionTime): + ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); + break; + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace MoveToHue. +namespace MoveHue { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMoveMode)), moveMode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRate)), rate)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace ChlorineConcentrationMeasurement -namespace FecalColiformAndEColiConcentrationMeasurement { - -namespace Commands { -} // namespace Commands -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kMoveMode): + ReturnErrorOnFailure(DataModel::Decode(reader, moveMode)); + break; + case to_underlying(Fields::kRate): + ReturnErrorOnFailure(DataModel::Decode(reader, rate)); + break; + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace MoveHue. +namespace StepHue { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepMode)), stepMode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepSize)), stepSize)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace FecalColiformAndEColiConcentrationMeasurement -namespace FluorideConcentrationMeasurement { - -namespace Commands { -} // namespace Commands -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kStepMode): + ReturnErrorOnFailure(DataModel::Decode(reader, stepMode)); + break; + case to_underlying(Fields::kStepSize): + ReturnErrorOnFailure(DataModel::Decode(reader, stepSize)); + break; + case to_underlying(Fields::kTransitionTime): + ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); + break; + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace StepHue. +namespace MoveToSaturation { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSaturation)), saturation)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace FluorideConcentrationMeasurement -namespace HaloaceticAcidsConcentrationMeasurement { - -namespace Commands { -} // namespace Commands -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kSaturation): + ReturnErrorOnFailure(DataModel::Decode(reader, saturation)); + break; + case to_underlying(Fields::kTransitionTime): + ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); + break; + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace MoveToSaturation. +namespace MoveSaturation { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMoveMode)), moveMode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRate)), rate)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace HaloaceticAcidsConcentrationMeasurement -namespace TotalTrihalomethanesConcentrationMeasurement { - -namespace Commands { -} // namespace Commands -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kMoveMode): + ReturnErrorOnFailure(DataModel::Decode(reader, moveMode)); + break; + case to_underlying(Fields::kRate): + ReturnErrorOnFailure(DataModel::Decode(reader, rate)); + break; + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace MoveSaturation. +namespace StepSaturation { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepMode)), stepMode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepSize)), stepSize)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace TotalTrihalomethanesConcentrationMeasurement -namespace TotalColiformBacteriaConcentrationMeasurement { - -namespace Commands { -} // namespace Commands -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kStepMode): + ReturnErrorOnFailure(DataModel::Decode(reader, stepMode)); + break; + case to_underlying(Fields::kStepSize): + ReturnErrorOnFailure(DataModel::Decode(reader, stepSize)); + break; + case to_underlying(Fields::kTransitionTime): + ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); + break; + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace StepSaturation. +namespace MoveToHueAndSaturation { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHue)), hue)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSaturation)), saturation)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace TotalColiformBacteriaConcentrationMeasurement -namespace TurbidityConcentrationMeasurement { - -namespace Commands { -} // namespace Commands -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kHue): + ReturnErrorOnFailure(DataModel::Decode(reader, hue)); + break; + case to_underlying(Fields::kSaturation): + ReturnErrorOnFailure(DataModel::Decode(reader, saturation)); + break; + case to_underlying(Fields::kTransitionTime): + ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); + break; + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace MoveToHueAndSaturation. +namespace MoveToColor { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kColorX)), colorX)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kColorY)), colorY)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace TurbidityConcentrationMeasurement -namespace CopperConcentrationMeasurement { - -namespace Commands { -} // namespace Commands -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kColorX): + ReturnErrorOnFailure(DataModel::Decode(reader, colorX)); + break; + case to_underlying(Fields::kColorY): + ReturnErrorOnFailure(DataModel::Decode(reader, colorY)); + break; + case to_underlying(Fields::kTransitionTime): + ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); + break; + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace MoveToColor. +namespace MoveColor { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRateX)), rateX)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRateY)), rateY)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace CopperConcentrationMeasurement -namespace LeadConcentrationMeasurement { - -namespace Commands { -} // namespace Commands -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kRateX): + ReturnErrorOnFailure(DataModel::Decode(reader, rateX)); + break; + case to_underlying(Fields::kRateY): + ReturnErrorOnFailure(DataModel::Decode(reader, rateY)); + break; + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace MoveColor. +namespace StepColor { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepX)), stepX)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepY)), stepY)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace LeadConcentrationMeasurement -namespace ManganeseConcentrationMeasurement { - -namespace Commands { -} // namespace Commands -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kStepX): + ReturnErrorOnFailure(DataModel::Decode(reader, stepX)); + break; + case to_underlying(Fields::kStepY): + ReturnErrorOnFailure(DataModel::Decode(reader, stepY)); + break; + case to_underlying(Fields::kTransitionTime): + ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); + break; + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace StepColor. +namespace MoveToColorTemperature { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kColorTemperature)), colorTemperature)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace ManganeseConcentrationMeasurement -namespace SulfateConcentrationMeasurement { - -namespace Commands { -} // namespace Commands -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kColorTemperature): + ReturnErrorOnFailure(DataModel::Decode(reader, colorTemperature)); + break; + case to_underlying(Fields::kTransitionTime): + ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); + break; + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace MoveToColorTemperature. +namespace EnhancedMoveToHue { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEnhancedHue)), enhancedHue)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDirection)), direction)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace SulfateConcentrationMeasurement -namespace BromodichloromethaneConcentrationMeasurement { - -namespace Commands { -} // namespace Commands -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kEnhancedHue): + ReturnErrorOnFailure(DataModel::Decode(reader, enhancedHue)); + break; + case to_underlying(Fields::kDirection): + ReturnErrorOnFailure(DataModel::Decode(reader, direction)); + break; + case to_underlying(Fields::kTransitionTime): + ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); + break; + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace EnhancedMoveToHue. +namespace EnhancedMoveHue { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMoveMode)), moveMode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRate)), rate)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace BromodichloromethaneConcentrationMeasurement -namespace BromoformConcentrationMeasurement { - -namespace Commands { -} // namespace Commands -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kMoveMode): + ReturnErrorOnFailure(DataModel::Decode(reader, moveMode)); + break; + case to_underlying(Fields::kRate): + ReturnErrorOnFailure(DataModel::Decode(reader, rate)); + break; + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace EnhancedMoveHue. +namespace EnhancedStepHue { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepMode)), stepMode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepSize)), stepSize)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace BromoformConcentrationMeasurement -namespace ChlorodibromomethaneConcentrationMeasurement { - -namespace Commands { -} // namespace Commands -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kStepMode): + ReturnErrorOnFailure(DataModel::Decode(reader, stepMode)); + break; + case to_underlying(Fields::kStepSize): + ReturnErrorOnFailure(DataModel::Decode(reader, stepSize)); + break; + case to_underlying(Fields::kTransitionTime): + ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); + break; + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace ChlorodibromomethaneConcentrationMeasurement -namespace ChloroformConcentrationMeasurement { - -namespace Commands { -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +} // namespace EnhancedStepHue. +namespace EnhancedMoveToHueAndSaturation { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { - switch (path.mAttributeId) - { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEnhancedHue)), enhancedHue)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSaturation)), saturation)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace ChloroformConcentrationMeasurement -namespace SodiumConcentrationMeasurement { - -namespace Commands { -} // namespace Commands -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); - break; - case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); - break; - case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); - break; - case Attributes::Tolerance::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kEnhancedHue): + ReturnErrorOnFailure(DataModel::Decode(reader, enhancedHue)); + break; + case to_underlying(Fields::kSaturation): + ReturnErrorOnFailure(DataModel::Decode(reader, saturation)); + break; + case to_underlying(Fields::kTransitionTime): + ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); + break; + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace EnhancedMoveToHueAndSaturation. +namespace ColorLoopSet { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUpdateFlags)), updateFlags)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAction)), action)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDirection)), direction)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTime)), time)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStartHue)), startHue)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace SodiumConcentrationMeasurement -namespace WakeOnLan { - -namespace Commands { -} // namespace Commands -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::MACAddress::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, MACAddress)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kUpdateFlags): + ReturnErrorOnFailure(DataModel::Decode(reader, updateFlags)); + break; + case to_underlying(Fields::kAction): + ReturnErrorOnFailure(DataModel::Decode(reader, action)); + break; + case to_underlying(Fields::kDirection): + ReturnErrorOnFailure(DataModel::Decode(reader, direction)); + break; + case to_underlying(Fields::kTime): + ReturnErrorOnFailure(DataModel::Decode(reader, time)); + break; + case to_underlying(Fields::kStartHue): + ReturnErrorOnFailure(DataModel::Decode(reader, startHue)); + break; + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace ColorLoopSet. +namespace StopMoveStep { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); + ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events -} // namespace WakeOnLan -namespace Channel { -namespace Structs { -namespace ChannelInfo { +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace StopMoveStep. +namespace MoveColorTemperature { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMajorNumber)), majorNumber)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMinorNumber)), minorNumber)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCallSign)), callSign)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAffiliateCallSign)), affiliateCallSign)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMoveMode)), moveMode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kRate)), rate)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kColorTemperatureMinimumMireds)), + colorTemperatureMinimumMireds)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kColorTemperatureMaximumMireds)), + colorTemperatureMaximumMireds)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -18972,8 +14304,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -18982,20 +14313,23 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kMajorNumber): - ReturnErrorOnFailure(DataModel::Decode(reader, majorNumber)); + case to_underlying(Fields::kMoveMode): + ReturnErrorOnFailure(DataModel::Decode(reader, moveMode)); break; - case to_underlying(Fields::kMinorNumber): - ReturnErrorOnFailure(DataModel::Decode(reader, minorNumber)); + case to_underlying(Fields::kRate): + ReturnErrorOnFailure(DataModel::Decode(reader, rate)); break; - case to_underlying(Fields::kName): - ReturnErrorOnFailure(DataModel::Decode(reader, name)); + case to_underlying(Fields::kColorTemperatureMinimumMireds): + ReturnErrorOnFailure(DataModel::Decode(reader, colorTemperatureMinimumMireds)); break; - case to_underlying(Fields::kCallSign): - ReturnErrorOnFailure(DataModel::Decode(reader, callSign)); + case to_underlying(Fields::kColorTemperatureMaximumMireds): + ReturnErrorOnFailure(DataModel::Decode(reader, colorTemperatureMaximumMireds)); break; - case to_underlying(Fields::kAffiliateCallSign): - ReturnErrorOnFailure(DataModel::Decode(reader, affiliateCallSign)); + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); break; default: break; @@ -19004,20 +14338,23 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace ChannelInfo -namespace LineupInfo { +} // namespace MoveColorTemperature. +namespace StepColorTemperature { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperatorName)), operatorName)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLineupName)), lineupName)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPostalCode)), postalCode)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLineupInfoType)), lineupInfoType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepMode)), stepMode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStepSize)), stepSize)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTransitionTime)), transitionTime)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kColorTemperatureMinimumMireds)), + colorTemperatureMinimumMireds)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kColorTemperatureMaximumMireds)), + colorTemperatureMaximumMireds)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsMask)), optionsMask)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOptionsOverride)), optionsOverride)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -19027,8 +14364,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -19037,189 +14373,361 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kOperatorName): - ReturnErrorOnFailure(DataModel::Decode(reader, operatorName)); + case to_underlying(Fields::kStepMode): + ReturnErrorOnFailure(DataModel::Decode(reader, stepMode)); break; - case to_underlying(Fields::kLineupName): - ReturnErrorOnFailure(DataModel::Decode(reader, lineupName)); + case to_underlying(Fields::kStepSize): + ReturnErrorOnFailure(DataModel::Decode(reader, stepSize)); break; - case to_underlying(Fields::kPostalCode): - ReturnErrorOnFailure(DataModel::Decode(reader, postalCode)); + case to_underlying(Fields::kTransitionTime): + ReturnErrorOnFailure(DataModel::Decode(reader, transitionTime)); break; - case to_underlying(Fields::kLineupInfoType): - ReturnErrorOnFailure(DataModel::Decode(reader, lineupInfoType)); + case to_underlying(Fields::kColorTemperatureMinimumMireds): + ReturnErrorOnFailure(DataModel::Decode(reader, colorTemperatureMinimumMireds)); + break; + case to_underlying(Fields::kColorTemperatureMaximumMireds): + ReturnErrorOnFailure(DataModel::Decode(reader, colorTemperatureMaximumMireds)); + break; + case to_underlying(Fields::kOptionsMask): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsMask)); + break; + case to_underlying(Fields::kOptionsOverride): + ReturnErrorOnFailure(DataModel::Decode(reader, optionsOverride)); break; default: break; } } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace StepColorTemperature. +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::CurrentHue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentHue)); + break; + case Attributes::CurrentSaturation::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentSaturation)); + break; + case Attributes::RemainingTime::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, remainingTime)); + break; + case Attributes::CurrentX::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentX)); + break; + case Attributes::CurrentY::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentY)); + break; + case Attributes::DriftCompensation::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, driftCompensation)); + break; + case Attributes::CompensationText::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, compensationText)); + break; + case Attributes::ColorTemperature::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorTemperature)); + break; + case Attributes::ColorMode::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorMode)); + break; + case Attributes::Options::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, options)); + break; + case Attributes::NumberOfPrimaries::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, numberOfPrimaries)); + break; + case Attributes::Primary1X::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary1X)); + break; + case Attributes::Primary1Y::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary1Y)); + break; + case Attributes::Primary1Intensity::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary1Intensity)); + break; + case Attributes::Primary2X::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary2X)); + break; + case Attributes::Primary2Y::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary2Y)); + break; + case Attributes::Primary2Intensity::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary2Intensity)); + break; + case Attributes::Primary3X::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary3X)); + break; + case Attributes::Primary3Y::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary3Y)); + break; + case Attributes::Primary3Intensity::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary3Intensity)); + break; + case Attributes::Primary4X::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary4X)); + break; + case Attributes::Primary4Y::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary4Y)); + break; + case Attributes::Primary4Intensity::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary4Intensity)); + break; + case Attributes::Primary5X::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary5X)); + break; + case Attributes::Primary5Y::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary5Y)); + break; + case Attributes::Primary5Intensity::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary5Intensity)); + break; + case Attributes::Primary6X::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary6X)); + break; + case Attributes::Primary6Y::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary6Y)); + break; + case Attributes::Primary6Intensity::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, primary6Intensity)); + break; + case Attributes::WhitePointX::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, whitePointX)); + break; + case Attributes::WhitePointY::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, whitePointY)); + break; + case Attributes::ColorPointRX::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorPointRX)); + break; + case Attributes::ColorPointRY::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorPointRY)); + break; + case Attributes::ColorPointRIntensity::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorPointRIntensity)); + break; + case Attributes::ColorPointGX::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorPointGX)); + break; + case Attributes::ColorPointGY::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorPointGY)); + break; + case Attributes::ColorPointGIntensity::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorPointGIntensity)); + break; + case Attributes::ColorPointBX::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorPointBX)); + break; + case Attributes::ColorPointBY::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorPointBY)); + break; + case Attributes::ColorPointBIntensity::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorPointBIntensity)); + break; + case Attributes::EnhancedCurrentHue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, enhancedCurrentHue)); + break; + case Attributes::EnhancedColorMode::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, enhancedColorMode)); + break; + case Attributes::ColorLoopActive::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorLoopActive)); + break; + case Attributes::ColorLoopDirection::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorLoopDirection)); + break; + case Attributes::ColorLoopTime::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorLoopTime)); + break; + case Attributes::ColorLoopStartEnhancedHue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorLoopStartEnhancedHue)); + break; + case Attributes::ColorLoopStoredEnhancedHue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorLoopStoredEnhancedHue)); + break; + case Attributes::ColorCapabilities::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorCapabilities)); + break; + case Attributes::ColorTempPhysicalMinMireds::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorTempPhysicalMinMireds)); + break; + case Attributes::ColorTempPhysicalMaxMireds::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, colorTempPhysicalMaxMireds)); + break; + case Attributes::CoupleColorTempToLevelMinMireds::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, coupleColorTempToLevelMinMireds)); + break; + case Attributes::StartUpColorTemperatureMireds::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, startUpColorTemperatureMireds)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; + } + return CHIP_NO_ERROR; } +} // namespace Attributes -} // namespace LineupInfo -} // namespace Structs +namespace Events { +} // namespace Events + +} // namespace ColorControl +namespace BallastConfiguration { namespace Commands { -namespace ChangeChannel { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMatch)), match)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} +} // namespace Commands -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) + switch (path.mAttributeId) { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kMatch): - ReturnErrorOnFailure(DataModel::Decode(reader, match)); - break; - default: - break; - } + case Attributes::PhysicalMinLevel::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, physicalMinLevel)); + break; + case Attributes::PhysicalMaxLevel::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, physicalMaxLevel)); + break; + case Attributes::BallastStatus::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, ballastStatus)); + break; + case Attributes::MinLevel::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, minLevel)); + break; + case Attributes::MaxLevel::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxLevel)); + break; + case Attributes::IntrinsicBalanceFactor::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, intrinsicBalanceFactor)); + break; + case Attributes::BallastFactorAdjustment::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, ballastFactorAdjustment)); + break; + case Attributes::LampQuantity::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, lampQuantity)); + break; + case Attributes::LampType::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, lampType)); + break; + case Attributes::LampManufacturer::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, lampManufacturer)); + break; + case Attributes::LampRatedHours::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, lampRatedHours)); + break; + case Attributes::LampBurnHours::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, lampBurnHours)); + break; + case Attributes::LampAlarmMode::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, lampAlarmMode)); + break; + case Attributes::LampBurnHoursTripPoint::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, lampBurnHoursTripPoint)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ChangeChannel. -namespace ChangeChannelResponse { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kData)), data)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); - break; - case to_underlying(Fields::kData): - ReturnErrorOnFailure(DataModel::Decode(reader, data)); - break; - default: - break; - } - } +} // namespace Attributes - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace ChangeChannelResponse. -namespace ChangeChannelByNumber { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMajorNumber)), majorNumber)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMinorNumber)), minorNumber)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} +namespace Events { +} // namespace Events -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kMajorNumber): - ReturnErrorOnFailure(DataModel::Decode(reader, majorNumber)); - break; - case to_underlying(Fields::kMinorNumber): - ReturnErrorOnFailure(DataModel::Decode(reader, minorNumber)); - break; - default: - break; - } - } +} // namespace BallastConfiguration +namespace IlluminanceMeasurement { - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace ChangeChannelByNumber. -namespace SkipChannel { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCount)), count)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} +namespace Commands { +} // namespace Commands -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) + switch (path.mAttributeId) { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kCount): - ReturnErrorOnFailure(DataModel::Decode(reader, count)); - break; - default: - break; - } + case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); + break; + case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); + break; + case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); + break; + case Attributes::Tolerance::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); + break; + case Attributes::LightSensorType::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, lightSensorType)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SkipChannel. +} // namespace Attributes + +namespace Events { +} // namespace Events + +} // namespace IlluminanceMeasurement +namespace TemperatureMeasurement { + +namespace Commands { } // namespace Commands namespace Attributes { @@ -19227,14 +14735,17 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::ChannelList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, channelList)); + case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); break; - case Attributes::Lineup::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, lineup)); + case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); break; - case Attributes::CurrentChannel::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentChannel)); + case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); + break; + case Attributes::Tolerance::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -19262,138 +14773,123 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events { } // namespace Events -} // namespace Channel -namespace TargetNavigator { -namespace Structs { -namespace TargetInfo { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIdentifier)), identifier)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} +} // namespace TemperatureMeasurement +namespace PressureMeasurement { -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +namespace Commands { +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); - while ((err = reader.Next()) == CHIP_NO_ERROR) + switch (path.mAttributeId) { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kIdentifier): - ReturnErrorOnFailure(DataModel::Decode(reader, identifier)); - break; - case to_underlying(Fields::kName): - ReturnErrorOnFailure(DataModel::Decode(reader, name)); - break; - default: - break; - } + case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); + break; + case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); + break; + case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); + break; + case Attributes::Tolerance::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); + break; + case Attributes::ScaledValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, scaledValue)); + break; + case Attributes::MinScaledValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, minScaledValue)); + break; + case Attributes::MaxScaledValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxScaledValue)); + break; + case Attributes::ScaledTolerance::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, scaledTolerance)); + break; + case Attributes::Scale::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, scale)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } +} // namespace Attributes -} // namespace TargetInfo -} // namespace Structs +namespace Events { +} // namespace Events + +} // namespace PressureMeasurement +namespace FlowMeasurement { namespace Commands { -namespace NavigateTarget { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTarget)), target)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kData)), data)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} +} // namespace Commands -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) + switch (path.mAttributeId) { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kTarget): - ReturnErrorOnFailure(DataModel::Decode(reader, target)); - break; - case to_underlying(Fields::kData): - ReturnErrorOnFailure(DataModel::Decode(reader, data)); - break; - default: - break; - } + case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); + break; + case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); + break; + case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); + break; + case Attributes::Tolerance::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace NavigateTarget. -namespace NavigateTargetResponse { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kData)), data)); - ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } +} // namespace Attributes -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); - break; - case to_underlying(Fields::kData): - ReturnErrorOnFailure(DataModel::Decode(reader, data)); - break; - default: - break; - } - } +namespace Events { +} // namespace Events - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace NavigateTargetResponse. +} // namespace FlowMeasurement +namespace RelativeHumidityMeasurement { + +namespace Commands { } // namespace Commands namespace Attributes { @@ -19401,11 +14897,17 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::TargetList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, targetList)); + case Attributes::MeasuredValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, measuredValue)); break; - case Attributes::CurrentTarget::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentTarget)); + case Attributes::MinMeasuredValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, minMeasuredValue)); + break; + case Attributes::MaxMeasuredValue::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, maxMeasuredValue)); + break; + case Attributes::Tolerance::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, tolerance)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -19433,127 +14935,132 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events { } // namespace Events -} // namespace TargetNavigator -namespace MediaPlayback { -namespace Structs { -namespace PlaybackPosition { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUpdatedAt)), updatedAt)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPosition)), position)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} +} // namespace RelativeHumidityMeasurement +namespace OccupancySensing { -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +namespace Commands { +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); - while ((err = reader.Next()) == CHIP_NO_ERROR) + switch (path.mAttributeId) { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kUpdatedAt): - ReturnErrorOnFailure(DataModel::Decode(reader, updatedAt)); - break; - case to_underlying(Fields::kPosition): - ReturnErrorOnFailure(DataModel::Decode(reader, position)); - break; - default: - break; - } + case Attributes::Occupancy::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, occupancy)); + break; + case Attributes::OccupancySensorType::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, occupancySensorType)); + break; + case Attributes::OccupancySensorTypeBitmap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, occupancySensorTypeBitmap)); + break; + case Attributes::PirOccupiedToUnoccupiedDelay::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, pirOccupiedToUnoccupiedDelay)); + break; + case Attributes::PirUnoccupiedToOccupiedDelay::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, pirUnoccupiedToOccupiedDelay)); + break; + case Attributes::PirUnoccupiedToOccupiedThreshold::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, pirUnoccupiedToOccupiedThreshold)); + break; + case Attributes::UltrasonicOccupiedToUnoccupiedDelay::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, ultrasonicOccupiedToUnoccupiedDelay)); + break; + case Attributes::UltrasonicUnoccupiedToOccupiedDelay::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, ultrasonicUnoccupiedToOccupiedDelay)); + break; + case Attributes::UltrasonicUnoccupiedToOccupiedThreshold::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, ultrasonicUnoccupiedToOccupiedThreshold)); + break; + case Attributes::PhysicalContactOccupiedToUnoccupiedDelay::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, physicalContactOccupiedToUnoccupiedDelay)); + break; + case Attributes::PhysicalContactUnoccupiedToOccupiedDelay::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, physicalContactUnoccupiedToOccupiedDelay)); + break; + case Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, physicalContactUnoccupiedToOccupiedThreshold)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } +} // namespace Attributes -} // namespace PlaybackPosition -} // namespace Structs +namespace Events { +} // namespace Events + +} // namespace OccupancySensing +namespace WakeOnLan { namespace Commands { -namespace Play { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} +} // namespace Commands -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) + switch (path.mAttributeId) { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } + case Attributes::MACAddress::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, MACAddress)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace Play. -namespace Pause { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } +} // namespace Attributes -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - default: - break; - } - } +namespace Events { +} // namespace Events - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace Pause. -namespace StopPlayback { +} // namespace WakeOnLan +namespace Channel { +namespace Structs { +namespace ChannelInfo { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMajorNumber)), majorNumber)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMinorNumber)), minorNumber)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCallSign)), callSign)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAffiliateCallSign)), affiliateCallSign)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -19563,7 +15070,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -19572,39 +15080,21 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - default: + case to_underlying(Fields::kMajorNumber): + ReturnErrorOnFailure(DataModel::Decode(reader, majorNumber)); + break; + case to_underlying(Fields::kMinorNumber): + ReturnErrorOnFailure(DataModel::Decode(reader, minorNumber)); + break; + case to_underlying(Fields::kName): + ReturnErrorOnFailure(DataModel::Decode(reader, name)); + break; + case to_underlying(Fields::kCallSign): + ReturnErrorOnFailure(DataModel::Decode(reader, callSign)); + break; + case to_underlying(Fields::kAffiliateCallSign): + ReturnErrorOnFailure(DataModel::Decode(reader, affiliateCallSign)); break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace StopPlayback. -namespace StartOver { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { default: break; } @@ -19612,14 +15102,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace StartOver. -namespace Previous { + +} // namespace ChannelInfo +namespace LineupInfo { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOperatorName)), operatorName)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLineupName)), lineupName)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPostalCode)), postalCode)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLineupInfoType)), lineupInfoType)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -19629,7 +15125,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -19638,6 +15135,18 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kOperatorName): + ReturnErrorOnFailure(DataModel::Decode(reader, operatorName)); + break; + case to_underlying(Fields::kLineupName): + ReturnErrorOnFailure(DataModel::Decode(reader, lineupName)); + break; + case to_underlying(Fields::kPostalCode): + ReturnErrorOnFailure(DataModel::Decode(reader, postalCode)); + break; + case to_underlying(Fields::kLineupInfoType): + ReturnErrorOnFailure(DataModel::Decode(reader, lineupInfoType)); + break; default: break; } @@ -19645,14 +15154,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace Previous. -namespace Next { + +} // namespace LineupInfo +} // namespace Structs + +namespace Commands { +namespace ChangeChannel { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMatch)), match)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -19671,6 +15186,9 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kMatch): + ReturnErrorOnFailure(DataModel::Decode(reader, match)); + break; default: break; } @@ -19680,12 +15198,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Next. -namespace Rewind { +} // namespace ChangeChannel. +namespace ChangeChannelResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kData)), data)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -19704,6 +15224,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, status)); + break; + case to_underlying(Fields::kData): + ReturnErrorOnFailure(DataModel::Decode(reader, data)); + break; default: break; } @@ -19713,12 +15239,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Rewind. -namespace FastForward { +} // namespace ChangeChannelResponse. +namespace ChangeChannelByNumber { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMajorNumber)), majorNumber)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMinorNumber)), minorNumber)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -19737,6 +15265,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kMajorNumber): + ReturnErrorOnFailure(DataModel::Decode(reader, majorNumber)); + break; + case to_underlying(Fields::kMinorNumber): + ReturnErrorOnFailure(DataModel::Decode(reader, minorNumber)); + break; default: break; } @@ -19746,14 +15280,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace FastForward. -namespace SkipForward { +} // namespace ChangeChannelByNumber. +namespace SkipChannel { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDeltaPositionMilliseconds)), deltaPositionMilliseconds)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCount)), count)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -19772,8 +15305,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kDeltaPositionMilliseconds): - ReturnErrorOnFailure(DataModel::Decode(reader, deltaPositionMilliseconds)); + case to_underlying(Fields::kCount): + ReturnErrorOnFailure(DataModel::Decode(reader, count)); break; default: break; @@ -19784,14 +15317,59 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SkipForward. -namespace SkipBackward { +} // namespace SkipChannel. +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::ChannelList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, channelList)); + break; + case Attributes::Lineup::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, lineup)); + break; + case Attributes::CurrentChannel::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentChannel)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; + } + + return CHIP_NO_ERROR; +} +} // namespace Attributes + +namespace Events { +} // namespace Events + +} // namespace Channel +namespace TargetNavigator { +namespace Structs { +namespace TargetInfo { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDeltaPositionMilliseconds)), deltaPositionMilliseconds)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIdentifier)), identifier)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -19801,7 +15379,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -19810,8 +15389,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kDeltaPositionMilliseconds): - ReturnErrorOnFailure(DataModel::Decode(reader, deltaPositionMilliseconds)); + case to_underlying(Fields::kIdentifier): + ReturnErrorOnFailure(DataModel::Decode(reader, identifier)); + break; + case to_underlying(Fields::kName): + ReturnErrorOnFailure(DataModel::Decode(reader, name)); break; default: break; @@ -19820,15 +15402,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace SkipBackward. -namespace PlaybackResponse { + +} // namespace TargetInfo +} // namespace Structs + +namespace Commands { +namespace NavigateTarget { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTarget)), target)); ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kData)), data)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; @@ -19848,8 +15435,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); + case to_underlying(Fields::kTarget): + ReturnErrorOnFailure(DataModel::Decode(reader, target)); break; case to_underlying(Fields::kData): ReturnErrorOnFailure(DataModel::Decode(reader, data)); @@ -19863,13 +15450,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace PlaybackResponse. -namespace Seek { +} // namespace NavigateTarget. +namespace NavigateTargetResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPosition)), position)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kData)), data)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -19888,8 +15476,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kPosition): - ReturnErrorOnFailure(DataModel::Decode(reader, position)); + case to_underlying(Fields::kStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, status)); + break; + case to_underlying(Fields::kData): + ReturnErrorOnFailure(DataModel::Decode(reader, data)); break; default: break; @@ -19900,7 +15491,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Seek. +} // namespace NavigateTargetResponse. } // namespace Commands namespace Attributes { @@ -19908,26 +15499,11 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::CurrentState::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentState)); - break; - case Attributes::StartTime::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, startTime)); - break; - case Attributes::Duration::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, duration)); - break; - case Attributes::SampledPosition::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, sampledPosition)); - break; - case Attributes::PlaybackSpeed::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, playbackSpeed)); - break; - case Attributes::SeekRangeEnd::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, seekRangeEnd)); + case Attributes::TargetList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, targetList)); break; - case Attributes::SeekRangeStart::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, seekRangeStart)); + case Attributes::CurrentTarget::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentTarget)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -19955,18 +15531,16 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events { } // namespace Events -} // namespace MediaPlayback -namespace MediaInput { +} // namespace TargetNavigator +namespace MediaPlayback { namespace Structs { -namespace InputInfo { +namespace PlaybackPosition { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIndex)), index)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInputType)), inputType)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDescription)), description)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUpdatedAt)), updatedAt)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPosition)), position)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -19986,18 +15560,50 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, index)); - break; - case to_underlying(Fields::kInputType): - ReturnErrorOnFailure(DataModel::Decode(reader, inputType)); - break; - case to_underlying(Fields::kName): - ReturnErrorOnFailure(DataModel::Decode(reader, name)); - break; - case to_underlying(Fields::kDescription): - ReturnErrorOnFailure(DataModel::Decode(reader, description)); - break; + case to_underlying(Fields::kUpdatedAt): + ReturnErrorOnFailure(DataModel::Decode(reader, updatedAt)); + break; + case to_underlying(Fields::kPosition): + ReturnErrorOnFailure(DataModel::Decode(reader, position)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + + return CHIP_NO_ERROR; +} + +} // namespace PlaybackPosition +} // namespace Structs + +namespace Commands { +namespace Play { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { default: break; } @@ -20005,20 +15611,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace InputInfo -} // namespace Structs - -namespace Commands { -namespace SelectInput { +} // namespace Play. +namespace Pause { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIndex)), index)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -20037,9 +15637,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, index)); - break; default: break; } @@ -20049,8 +15646,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SelectInput. -namespace ShowInputStatus { +} // namespace Pause. +namespace StopPlayback { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; @@ -20082,8 +15679,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace ShowInputStatus. -namespace HideInputStatus { +} // namespace StopPlayback. +namespace StartOver { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; @@ -20115,14 +15712,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace HideInputStatus. -namespace RenameInput { +} // namespace StartOver. +namespace Previous { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIndex)), index)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -20141,12 +15736,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, index)); - break; - case to_underlying(Fields::kName): - ReturnErrorOnFailure(DataModel::Decode(reader, name)); - break; default: break; } @@ -20156,51 +15745,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace RenameInput. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::InputList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, inputList)); - break; - case Attributes::CurrentInput::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentInput)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace MediaInput -namespace LowPower { - -namespace Commands { -namespace Sleep { +} // namespace Previous. +namespace Next { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; @@ -20232,50 +15778,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Sleep. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace LowPower -namespace KeypadInput { - -namespace Commands { -namespace SendKey { +} // namespace Next. +namespace Rewind { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kKeyCode)), keyCode)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -20294,9 +15802,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kKeyCode): - ReturnErrorOnFailure(DataModel::Decode(reader, keyCode)); - break; default: break; } @@ -20306,13 +15811,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SendKey. -namespace SendKeyResponse { +} // namespace Rewind. +namespace FastForward { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -20331,9 +15835,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); - break; default: break; } @@ -20343,51 +15844,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SendKeyResponse. -} // namespace Commands - -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) -{ - switch (path.mAttributeId) - { - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; - } - - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace KeypadInput -namespace ContentLauncher { -namespace Structs { -namespace Dimension { +} // namespace FastForward. +namespace SkipForward { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kWidth)), width)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHeight)), height)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMetric)), metric)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDeltaPositionMilliseconds)), deltaPositionMilliseconds)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -20397,8 +15861,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -20407,14 +15870,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kWidth): - ReturnErrorOnFailure(DataModel::Decode(reader, width)); - break; - case to_underlying(Fields::kHeight): - ReturnErrorOnFailure(DataModel::Decode(reader, height)); - break; - case to_underlying(Fields::kMetric): - ReturnErrorOnFailure(DataModel::Decode(reader, metric)); + case to_underlying(Fields::kDeltaPositionMilliseconds): + ReturnErrorOnFailure(DataModel::Decode(reader, deltaPositionMilliseconds)); break; default: break; @@ -20423,18 +15880,16 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace Dimension -namespace AdditionalInfo { +} // namespace SkipForward. +namespace SkipBackward { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kValue)), value)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDeltaPositionMilliseconds)), deltaPositionMilliseconds)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -20444,8 +15899,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -20454,11 +15908,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kName): - ReturnErrorOnFailure(DataModel::Decode(reader, name)); - break; - case to_underlying(Fields::kValue): - ReturnErrorOnFailure(DataModel::Decode(reader, value)); + case to_underlying(Fields::kDeltaPositionMilliseconds): + ReturnErrorOnFailure(DataModel::Decode(reader, deltaPositionMilliseconds)); break; default: break; @@ -20467,19 +15918,16 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace AdditionalInfo -namespace Parameter { +} // namespace SkipBackward. +namespace PlaybackResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kType)), type)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kValue)), value)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kExternalIDList)), externalIDList)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kData)), data)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -20489,8 +15937,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -20499,14 +15946,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kType): - ReturnErrorOnFailure(DataModel::Decode(reader, type)); - break; - case to_underlying(Fields::kValue): - ReturnErrorOnFailure(DataModel::Decode(reader, value)); + case to_underlying(Fields::kStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, status)); break; - case to_underlying(Fields::kExternalIDList): - ReturnErrorOnFailure(DataModel::Decode(reader, externalIDList)); + case to_underlying(Fields::kData): + ReturnErrorOnFailure(DataModel::Decode(reader, data)); break; default: break; @@ -20515,17 +15959,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace Parameter -namespace ContentSearch { +} // namespace PlaybackResponse. +namespace Seek { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kParameterList)), parameterList)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kPosition)), position)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -20535,8 +15977,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -20545,8 +15986,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kParameterList): - ReturnErrorOnFailure(DataModel::Decode(reader, parameterList)); + case to_underlying(Fields::kPosition): + ReturnErrorOnFailure(DataModel::Decode(reader, position)); break; default: break; @@ -20555,19 +15996,75 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace Seek. +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::CurrentState::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentState)); + break; + case Attributes::StartTime::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, startTime)); + break; + case Attributes::Duration::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, duration)); + break; + case Attributes::SampledPosition::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, sampledPosition)); + break; + case Attributes::PlaybackSpeed::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, playbackSpeed)); + break; + case Attributes::SeekRangeEnd::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, seekRangeEnd)); + break; + case Attributes::SeekRangeStart::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, seekRangeStart)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; + } return CHIP_NO_ERROR; } +} // namespace Attributes -} // namespace ContentSearch -namespace StyleInformation { +namespace Events { +} // namespace Events + +} // namespace MediaPlayback +namespace MediaInput { +namespace Structs { +namespace InputInfo { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kImageUrl)), imageUrl)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kColor)), color)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSize)), size)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIndex)), index)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kInputType)), inputType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDescription)), description)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -20587,14 +16084,17 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kImageUrl): - ReturnErrorOnFailure(DataModel::Decode(reader, imageUrl)); + case to_underlying(Fields::kIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, index)); break; - case to_underlying(Fields::kColor): - ReturnErrorOnFailure(DataModel::Decode(reader, color)); + case to_underlying(Fields::kInputType): + ReturnErrorOnFailure(DataModel::Decode(reader, inputType)); break; - case to_underlying(Fields::kSize): - ReturnErrorOnFailure(DataModel::Decode(reader, size)); + case to_underlying(Fields::kName): + ReturnErrorOnFailure(DataModel::Decode(reader, name)); + break; + case to_underlying(Fields::kDescription): + ReturnErrorOnFailure(DataModel::Decode(reader, description)); break; default: break; @@ -20607,18 +16107,16 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) return CHIP_NO_ERROR; } -} // namespace StyleInformation -namespace BrandingInformation { +} // namespace InputInfo +} // namespace Structs + +namespace Commands { +namespace SelectInput { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kProviderName)), providerName)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBackground)), background)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLogo)), logo)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kProgressBar)), progressBar)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSplash)), splash)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kWaterMark)), waterMark)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIndex)), index)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -20628,8 +16126,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -20638,23 +16135,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kProviderName): - ReturnErrorOnFailure(DataModel::Decode(reader, providerName)); - break; - case to_underlying(Fields::kBackground): - ReturnErrorOnFailure(DataModel::Decode(reader, background)); - break; - case to_underlying(Fields::kLogo): - ReturnErrorOnFailure(DataModel::Decode(reader, logo)); - break; - case to_underlying(Fields::kProgressBar): - ReturnErrorOnFailure(DataModel::Decode(reader, progressBar)); - break; - case to_underlying(Fields::kSplash): - ReturnErrorOnFailure(DataModel::Decode(reader, splash)); - break; - case to_underlying(Fields::kWaterMark): - ReturnErrorOnFailure(DataModel::Decode(reader, waterMark)); + case to_underlying(Fields::kIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, index)); break; default: break; @@ -20663,22 +16145,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace BrandingInformation -} // namespace Structs - -namespace Commands { -namespace LaunchContent { +} // namespace SelectInput. +namespace ShowInputStatus { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSearch)), search)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAutoPlay)), autoPlay)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kData)), data)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -20697,15 +16171,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kSearch): - ReturnErrorOnFailure(DataModel::Decode(reader, search)); - break; - case to_underlying(Fields::kAutoPlay): - ReturnErrorOnFailure(DataModel::Decode(reader, autoPlay)); - break; - case to_underlying(Fields::kData): - ReturnErrorOnFailure(DataModel::Decode(reader, data)); - break; default: break; } @@ -20715,16 +16180,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace LaunchContent. -namespace LaunchURL { +} // namespace ShowInputStatus. +namespace HideInputStatus { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kContentURL)), contentURL)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDisplayString)), displayString)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBrandingInformation)), brandingInformation)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -20743,15 +16204,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kContentURL): - ReturnErrorOnFailure(DataModel::Decode(reader, contentURL)); - break; - case to_underlying(Fields::kDisplayString): - ReturnErrorOnFailure(DataModel::Decode(reader, displayString)); - break; - case to_underlying(Fields::kBrandingInformation): - ReturnErrorOnFailure(DataModel::Decode(reader, brandingInformation)); - break; default: break; } @@ -20761,14 +16213,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace LaunchURL. -namespace LaunchResponse { +} // namespace HideInputStatus. +namespace RenameInput { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kData)), data)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIndex)), index)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -20787,11 +16239,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); + case to_underlying(Fields::kIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, index)); break; - case to_underlying(Fields::kData): - ReturnErrorOnFailure(DataModel::Decode(reader, data)); + case to_underlying(Fields::kName): + ReturnErrorOnFailure(DataModel::Decode(reader, name)); break; default: break; @@ -20802,7 +16254,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace LaunchResponse. +} // namespace RenameInput. } // namespace Commands namespace Attributes { @@ -20810,11 +16262,11 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::AcceptHeader::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptHeader)); + case Attributes::InputList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, inputList)); break; - case Attributes::SupportedStreamingProtocols::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, supportedStreamingProtocols)); + case Attributes::CurrentInput::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentInput)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -20842,17 +16294,15 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events { } // namespace Events -} // namespace ContentLauncher -namespace AudioOutput { -namespace Structs { -namespace OutputInfo { +} // namespace MediaInput +namespace LowPower { + +namespace Commands { +namespace Sleep { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIndex)), index)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOutputType)), outputType)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -20862,8 +16312,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -20872,15 +16321,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, index)); - break; - case to_underlying(Fields::kOutputType): - ReturnErrorOnFailure(DataModel::Decode(reader, outputType)); - break; - case to_underlying(Fields::kName): - ReturnErrorOnFailure(DataModel::Decode(reader, name)); - break; default: break; } @@ -20888,20 +16328,52 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace Sleep. +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; + } return CHIP_NO_ERROR; } +} // namespace Attributes -} // namespace OutputInfo -} // namespace Structs +namespace Events { +} // namespace Events + +} // namespace LowPower +namespace KeypadInput { namespace Commands { -namespace SelectOutput { +namespace SendKey { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIndex)), index)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kKeyCode)), keyCode)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -20919,9 +16391,9 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) continue; } switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, index)); + { + case to_underlying(Fields::kKeyCode): + ReturnErrorOnFailure(DataModel::Decode(reader, keyCode)); break; default: break; @@ -20932,14 +16404,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace SelectOutput. -namespace RenameOutput { +} // namespace SendKey. +namespace SendKeyResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIndex)), index)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -20958,11 +16429,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kIndex): - ReturnErrorOnFailure(DataModel::Decode(reader, index)); - break; - case to_underlying(Fields::kName): - ReturnErrorOnFailure(DataModel::Decode(reader, name)); + case to_underlying(Fields::kStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, status)); break; default: break; @@ -20973,7 +16441,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace RenameOutput. +} // namespace SendKeyResponse. } // namespace Commands namespace Attributes { @@ -20981,12 +16449,6 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::OutputList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, outputList)); - break; - case Attributes::CurrentOutput::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentOutput)); - break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -21013,16 +16475,17 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events { } // namespace Events -} // namespace AudioOutput -namespace ApplicationLauncher { +} // namespace KeypadInput +namespace ContentLauncher { namespace Structs { -namespace Application { +namespace Dimension { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCatalogVendorId)), catalogVendorId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kApplicationId)), applicationId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kWidth)), width)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kHeight)), height)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kMetric)), metric)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -21042,11 +16505,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCatalogVendorId): - ReturnErrorOnFailure(DataModel::Decode(reader, catalogVendorId)); + case to_underlying(Fields::kWidth): + ReturnErrorOnFailure(DataModel::Decode(reader, width)); break; - case to_underlying(Fields::kApplicationId): - ReturnErrorOnFailure(DataModel::Decode(reader, applicationId)); + case to_underlying(Fields::kHeight): + ReturnErrorOnFailure(DataModel::Decode(reader, height)); + break; + case to_underlying(Fields::kMetric): + ReturnErrorOnFailure(DataModel::Decode(reader, metric)); break; default: break; @@ -21059,14 +16525,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) return CHIP_NO_ERROR; } -} // namespace Application -namespace ApplicationEP { +} // namespace Dimension +namespace AdditionalInfo { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kApplication)), application)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndpoint)), endpoint)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kValue)), value)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -21086,11 +16552,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kApplication): - ReturnErrorOnFailure(DataModel::Decode(reader, application)); + case to_underlying(Fields::kName): + ReturnErrorOnFailure(DataModel::Decode(reader, name)); break; - case to_underlying(Fields::kEndpoint): - ReturnErrorOnFailure(DataModel::Decode(reader, endpoint)); + case to_underlying(Fields::kValue): + ReturnErrorOnFailure(DataModel::Decode(reader, value)); break; default: break; @@ -21103,17 +16569,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) return CHIP_NO_ERROR; } -} // namespace ApplicationEP -} // namespace Structs - -namespace Commands { -namespace LaunchApp { +} // namespace AdditionalInfo +namespace Parameter { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kApplication)), application)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kData)), data)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kType)), type)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kValue)), value)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kExternalIDList)), externalIDList)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -21123,7 +16587,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -21132,11 +16597,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kApplication): - ReturnErrorOnFailure(DataModel::Decode(reader, application)); + case to_underlying(Fields::kType): + ReturnErrorOnFailure(DataModel::Decode(reader, type)); break; - case to_underlying(Fields::kData): - ReturnErrorOnFailure(DataModel::Decode(reader, data)); + case to_underlying(Fields::kValue): + ReturnErrorOnFailure(DataModel::Decode(reader, value)); + break; + case to_underlying(Fields::kExternalIDList): + ReturnErrorOnFailure(DataModel::Decode(reader, externalIDList)); break; default: break; @@ -21145,15 +16613,17 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace LaunchApp. -namespace StopApp { + +} // namespace Parameter +namespace ContentSearch { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kApplication)), application)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kParameterList)), parameterList)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -21163,7 +16633,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -21172,8 +16643,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kApplication): - ReturnErrorOnFailure(DataModel::Decode(reader, application)); + case to_underlying(Fields::kParameterList): + ReturnErrorOnFailure(DataModel::Decode(reader, parameterList)); break; default: break; @@ -21182,15 +16653,19 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace StopApp. -namespace HideApp { + +} // namespace ContentSearch +namespace StyleInformation { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kApplication)), application)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kImageUrl)), imageUrl)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kColor)), color)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSize)), size)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -21200,7 +16675,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -21209,8 +16685,74 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kApplication): - ReturnErrorOnFailure(DataModel::Decode(reader, application)); + case to_underlying(Fields::kImageUrl): + ReturnErrorOnFailure(DataModel::Decode(reader, imageUrl)); + break; + case to_underlying(Fields::kColor): + ReturnErrorOnFailure(DataModel::Decode(reader, color)); + break; + case to_underlying(Fields::kSize): + ReturnErrorOnFailure(DataModel::Decode(reader, size)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + + return CHIP_NO_ERROR; +} + +} // namespace StyleInformation +namespace BrandingInformation { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kProviderName)), providerName)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBackground)), background)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLogo)), logo)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kProgressBar)), progressBar)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSplash)), splash)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kWaterMark)), waterMark)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kProviderName): + ReturnErrorOnFailure(DataModel::Decode(reader, providerName)); + break; + case to_underlying(Fields::kBackground): + ReturnErrorOnFailure(DataModel::Decode(reader, background)); + break; + case to_underlying(Fields::kLogo): + ReturnErrorOnFailure(DataModel::Decode(reader, logo)); + break; + case to_underlying(Fields::kProgressBar): + ReturnErrorOnFailure(DataModel::Decode(reader, progressBar)); + break; + case to_underlying(Fields::kSplash): + ReturnErrorOnFailure(DataModel::Decode(reader, splash)); + break; + case to_underlying(Fields::kWaterMark): + ReturnErrorOnFailure(DataModel::Decode(reader, waterMark)); break; default: break; @@ -21219,15 +16761,21 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace HideApp. -namespace LauncherResponse { + +} // namespace BrandingInformation +} // namespace Structs + +namespace Commands { +namespace LaunchContent { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSearch)), search)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAutoPlay)), autoPlay)); ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kData)), data)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; @@ -21247,8 +16795,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kStatus): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); + case to_underlying(Fields::kSearch): + ReturnErrorOnFailure(DataModel::Decode(reader, search)); + break; + case to_underlying(Fields::kAutoPlay): + ReturnErrorOnFailure(DataModel::Decode(reader, autoPlay)); break; case to_underlying(Fields::kData): ReturnErrorOnFailure(DataModel::Decode(reader, data)); @@ -21262,56 +16813,60 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace LauncherResponse. -} // namespace Commands +} // namespace LaunchContent. +namespace LaunchURL { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kContentURL)), contentURL)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kDisplayString)), displayString)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kBrandingInformation)), brandingInformation)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::CatalogList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, catalogList)); - break; - case Attributes::CurrentApp::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, currentApp)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kContentURL): + ReturnErrorOnFailure(DataModel::Decode(reader, contentURL)); + break; + case to_underlying(Fields::kDisplayString): + ReturnErrorOnFailure(DataModel::Decode(reader, displayString)); + break; + case to_underlying(Fields::kBrandingInformation): + ReturnErrorOnFailure(DataModel::Decode(reader, brandingInformation)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Attributes - -namespace Events { -} // namespace Events - -} // namespace ApplicationLauncher -namespace ApplicationBasic { -namespace Structs { -namespace ApplicationBasicApplication { +} // namespace LaunchURL. +namespace LaunchResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCatalogVendorId)), catalogVendorId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kApplicationId)), applicationId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kData)), data)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -21321,8 +16876,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - err = reader.EnterContainer(outer); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(reader.EnterContainer(outer)); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -21331,11 +16885,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kCatalogVendorId): - ReturnErrorOnFailure(DataModel::Decode(reader, catalogVendorId)); + case to_underlying(Fields::kStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, status)); break; - case to_underlying(Fields::kApplicationId): - ReturnErrorOnFailure(DataModel::Decode(reader, applicationId)); + case to_underlying(Fields::kData): + ReturnErrorOnFailure(DataModel::Decode(reader, data)); break; default: break; @@ -21344,14 +16898,9 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; } - -} // namespace ApplicationBasicApplication -} // namespace Structs - -namespace Commands { +} // namespace LaunchResponse. } // namespace Commands namespace Attributes { @@ -21359,29 +16908,11 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::VendorName::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, vendorName)); - break; - case Attributes::VendorID::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, vendorID)); - break; - case Attributes::ApplicationName::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, applicationName)); - break; - case Attributes::ProductID::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, productID)); - break; - case Attributes::Application::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, application)); - break; - case Attributes::Status::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, status)); - break; - case Attributes::ApplicationVersion::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, applicationVersion)); + case Attributes::AcceptHeader::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptHeader)); break; - case Attributes::AllowedVendorList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, allowedVendorList)); + case Attributes::SupportedStreamingProtocols::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, supportedStreamingProtocols)); break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); @@ -21409,17 +16940,17 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events { } // namespace Events -} // namespace ApplicationBasic -namespace AccountLogin { - -namespace Commands { -namespace GetSetupPIN { +} // namespace ContentLauncher +namespace AudioOutput { +namespace Structs { +namespace OutputInfo { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTempAccountIdentifier)), tempAccountIdentifier)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIndex)), index)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kOutputType)), outputType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -21429,7 +16960,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -21438,45 +16970,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kTempAccountIdentifier): - ReturnErrorOnFailure(DataModel::Decode(reader, tempAccountIdentifier)); + case to_underlying(Fields::kIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, index)); break; - default: + case to_underlying(Fields::kOutputType): + ReturnErrorOnFailure(DataModel::Decode(reader, outputType)); break; - } - } - - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace GetSetupPIN. -namespace GetSetupPINResponse { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSetupPIN)), setupPIN)); - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; -} - -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) - { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kSetupPIN): - ReturnErrorOnFailure(DataModel::Decode(reader, setupPIN)); + case to_underlying(Fields::kName): + ReturnErrorOnFailure(DataModel::Decode(reader, name)); break; default: break; @@ -21485,17 +16986,20 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace GetSetupPINResponse. -namespace Login { + +} // namespace OutputInfo +} // namespace Structs + +namespace Commands { +namespace SelectOutput { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure( - DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTempAccountIdentifier)), tempAccountIdentifier)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSetupPIN)), setupPIN)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIndex)), index)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -21514,11 +17018,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kTempAccountIdentifier): - ReturnErrorOnFailure(DataModel::Decode(reader, tempAccountIdentifier)); - break; - case to_underlying(Fields::kSetupPIN): - ReturnErrorOnFailure(DataModel::Decode(reader, setupPIN)); + case to_underlying(Fields::kIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, index)); break; default: break; @@ -21529,12 +17030,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Login. -namespace Logout { +} // namespace SelectOutput. +namespace RenameOutput { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kIndex)), index)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kName)), name)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -21553,6 +17056,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kIndex): + ReturnErrorOnFailure(DataModel::Decode(reader, index)); + break; + case to_underlying(Fields::kName): + ReturnErrorOnFailure(DataModel::Decode(reader, name)); + break; default: break; } @@ -21562,7 +17071,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace Logout. +} // namespace RenameOutput. } // namespace Commands namespace Attributes { @@ -21570,6 +17079,12 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { + case Attributes::OutputList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, outputList)); + break; + case Attributes::CurrentOutput::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentOutput)); + break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -21596,161 +17111,107 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events { } // namespace Events -} // namespace AccountLogin -namespace ApplianceIdentification { - -namespace Commands { -} // namespace Commands +} // namespace AudioOutput +namespace ApplicationLauncher { +namespace Structs { +namespace Application { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCatalogVendorId)), catalogVendorId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kApplicationId)), applicationId)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::BasicIdentification::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, basicIdentification)); - break; - case Attributes::CompanyName::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, companyName)); - break; - case Attributes::CompanyId::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, companyId)); - break; - case Attributes::BrandName::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, brandName)); - break; - case Attributes::BrandId::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, brandId)); - break; - case Attributes::Model::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, model)); - break; - case Attributes::PartNumber::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, partNumber)); - break; - case Attributes::ProductRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, productRevision)); - break; - case Attributes::SoftwareRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, softwareRevision)); - break; - case Attributes::ProductTypeName::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, productTypeName)); - break; - case Attributes::ProductTypeId::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, productTypeId)); - break; - case Attributes::CecedSpecificationVersion::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, cecedSpecificationVersion)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kCatalogVendorId): + ReturnErrorOnFailure(DataModel::Decode(reader, catalogVendorId)); + break; + case to_underlying(Fields::kApplicationId): + ReturnErrorOnFailure(DataModel::Decode(reader, applicationId)); + break; + default: + break; + } } - return CHIP_NO_ERROR; -} -} // namespace Attributes - -namespace Events { -} // namespace Events + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); -} // namespace ApplianceIdentification -namespace MeterIdentification { + return CHIP_NO_ERROR; +} -namespace Commands { -} // namespace Commands +} // namespace Application +namespace ApplicationEP { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kApplication)), application)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEndpoint)), endpoint)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} -namespace Attributes { -CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { - switch (path.mAttributeId) + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); + while ((err = reader.Next()) == CHIP_NO_ERROR) { - case Attributes::CompanyName::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, companyName)); - break; - case Attributes::MeterTypeId::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, meterTypeId)); - break; - case Attributes::DataQualityId::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, dataQualityId)); - break; - case Attributes::CustomerName::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, customerName)); - break; - case Attributes::Model::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, model)); - break; - case Attributes::PartNumber::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, partNumber)); - break; - case Attributes::ProductRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, productRevision)); - break; - case Attributes::SoftwareRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, softwareRevision)); - break; - case Attributes::UtilityName::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, utilityName)); - break; - case Attributes::Pod::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, pod)); - break; - case Attributes::AvailablePower::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, availablePower)); - break; - case Attributes::PowerThreshold::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, powerThreshold)); - break; - case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); - break; - case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); - break; - case Attributes::AttributeList::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); - break; - case Attributes::FeatureMap::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); - break; - case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); - break; - default: - break; + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kApplication): + ReturnErrorOnFailure(DataModel::Decode(reader, application)); + break; + case to_underlying(Fields::kEndpoint): + ReturnErrorOnFailure(DataModel::Decode(reader, endpoint)); + break; + default: + break; + } } + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; } -} // namespace Attributes -namespace Events { -} // namespace Events - -} // namespace MeterIdentification -namespace ApplianceEventsAndAlert { +} // namespace ApplicationEP +} // namespace Structs namespace Commands { -namespace GetAlerts { +namespace LaunchApp { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kApplication)), application)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kData)), data)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -21769,6 +17230,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kApplication): + ReturnErrorOnFailure(DataModel::Decode(reader, application)); + break; + case to_underlying(Fields::kData): + ReturnErrorOnFailure(DataModel::Decode(reader, data)); + break; default: break; } @@ -21778,14 +17245,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace GetAlerts. -namespace GetAlertsResponse { +} // namespace LaunchApp. +namespace StopApp { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAlertsCount)), alertsCount)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAlertStructures)), alertStructures)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kApplication)), application)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -21804,11 +17270,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kAlertsCount): - ReturnErrorOnFailure(DataModel::Decode(reader, alertsCount)); - break; - case to_underlying(Fields::kAlertStructures): - ReturnErrorOnFailure(DataModel::Decode(reader, alertStructures)); + case to_underlying(Fields::kApplication): + ReturnErrorOnFailure(DataModel::Decode(reader, application)); break; default: break; @@ -21819,14 +17282,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace GetAlertsResponse. -namespace AlertsNotification { +} // namespace StopApp. +namespace HideApp { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAlertsCount)), alertsCount)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kAlertStructures)), alertStructures)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kApplication)), application)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -21845,11 +17307,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kAlertsCount): - ReturnErrorOnFailure(DataModel::Decode(reader, alertsCount)); - break; - case to_underlying(Fields::kAlertStructures): - ReturnErrorOnFailure(DataModel::Decode(reader, alertStructures)); + case to_underlying(Fields::kApplication): + ReturnErrorOnFailure(DataModel::Decode(reader, application)); break; default: break; @@ -21860,14 +17319,14 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace AlertsNotification. -namespace EventsNotification { +} // namespace HideApp. +namespace LauncherResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEventHeader)), eventHeader)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kEventId)), eventId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kData)), data)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -21886,11 +17345,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kEventHeader): - ReturnErrorOnFailure(DataModel::Decode(reader, eventHeader)); + case to_underlying(Fields::kStatus): + ReturnErrorOnFailure(DataModel::Decode(reader, status)); break; - case to_underlying(Fields::kEventId): - ReturnErrorOnFailure(DataModel::Decode(reader, eventId)); + case to_underlying(Fields::kData): + ReturnErrorOnFailure(DataModel::Decode(reader, data)); break; default: break; @@ -21901,7 +17360,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace EventsNotification. +} // namespace LauncherResponse. } // namespace Commands namespace Attributes { @@ -21909,6 +17368,12 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { + case Attributes::CatalogList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, catalogList)); + break; + case Attributes::CurrentApp::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, currentApp)); + break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -21935,19 +17400,16 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events { } // namespace Events -} // namespace ApplianceEventsAndAlert -namespace ApplianceStatistics { - -namespace Commands { -namespace LogNotification { +} // namespace ApplicationLauncher +namespace ApplicationBasic { +namespace Structs { +namespace ApplicationBasicApplication { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTimeStamp)), timeStamp)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLogId)), logId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLogLength)), logLength)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLogPayload)), logPayload)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kCatalogVendorId)), catalogVendorId)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kApplicationId)), applicationId)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -21957,7 +17419,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVType outer; VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); while ((err = reader.Next()) == CHIP_NO_ERROR) { if (!TLV::IsContextTag(reader.GetTag())) @@ -21966,17 +17429,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kTimeStamp): - ReturnErrorOnFailure(DataModel::Decode(reader, timeStamp)); - break; - case to_underlying(Fields::kLogId): - ReturnErrorOnFailure(DataModel::Decode(reader, logId)); - break; - case to_underlying(Fields::kLogLength): - ReturnErrorOnFailure(DataModel::Decode(reader, logLength)); + case to_underlying(Fields::kCatalogVendorId): + ReturnErrorOnFailure(DataModel::Decode(reader, catalogVendorId)); break; - case to_underlying(Fields::kLogPayload): - ReturnErrorOnFailure(DataModel::Decode(reader, logPayload)); + case to_underlying(Fields::kApplicationId): + ReturnErrorOnFailure(DataModel::Decode(reader, applicationId)); break; default: break; @@ -21985,55 +17442,82 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(outer)); - return CHIP_NO_ERROR; -} -} // namespace LogNotification. -namespace LogRequest { -CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const -{ - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLogId)), logId)); - ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; } -CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +} // namespace ApplicationBasicApplication +} // namespace Structs + +namespace Commands { +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) { - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVType outer; - VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); - ReturnErrorOnFailure(reader.EnterContainer(outer)); - while ((err = reader.Next()) == CHIP_NO_ERROR) + switch (path.mAttributeId) { - if (!TLV::IsContextTag(reader.GetTag())) - { - continue; - } - switch (TLV::TagNumFromTag(reader.GetTag())) - { - case to_underlying(Fields::kLogId): - ReturnErrorOnFailure(DataModel::Decode(reader, logId)); - break; - default: - break; - } + case Attributes::VendorName::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, vendorName)); + break; + case Attributes::VendorID::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, vendorID)); + break; + case Attributes::ApplicationName::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, applicationName)); + break; + case Attributes::ProductID::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, productID)); + break; + case Attributes::Application::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, application)); + break; + case Attributes::Status::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, status)); + break; + case Attributes::ApplicationVersion::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, applicationVersion)); + break; + case Attributes::AllowedVendorList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, allowedVendorList)); + break; + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); + break; + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, acceptedCommandList)); + break; + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, attributeList)); + break; + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, featureMap)); + break; + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, clusterRevision)); + break; + default: + break; } - VerifyOrReturnError(err == CHIP_END_OF_TLV, err); - ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace LogRequest. -namespace LogResponse { +} // namespace Attributes + +namespace Events { +} // namespace Events + +} // namespace ApplicationBasic +namespace AccountLogin { + +namespace Commands { +namespace GetSetupPIN { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTimeStamp)), timeStamp)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLogId)), logId)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLogLength)), logLength)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLogPayload)), logPayload)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTempAccountIdentifier)), tempAccountIdentifier)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -22052,17 +17536,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kTimeStamp): - ReturnErrorOnFailure(DataModel::Decode(reader, timeStamp)); - break; - case to_underlying(Fields::kLogId): - ReturnErrorOnFailure(DataModel::Decode(reader, logId)); - break; - case to_underlying(Fields::kLogLength): - ReturnErrorOnFailure(DataModel::Decode(reader, logLength)); - break; - case to_underlying(Fields::kLogPayload): - ReturnErrorOnFailure(DataModel::Decode(reader, logPayload)); + case to_underlying(Fields::kTempAccountIdentifier): + ReturnErrorOnFailure(DataModel::Decode(reader, tempAccountIdentifier)); break; default: break; @@ -22073,12 +17548,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace LogResponse. -namespace LogQueueRequest { +} // namespace GetSetupPIN. +namespace GetSetupPINResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSetupPIN)), setupPIN)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -22097,6 +17573,9 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { + case to_underlying(Fields::kSetupPIN): + ReturnErrorOnFailure(DataModel::Decode(reader, setupPIN)); + break; default: break; } @@ -22106,14 +17585,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace LogQueueRequest. -namespace LogQueueResponse { +} // namespace GetSetupPINResponse. +namespace Login { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLogQueueSize)), logQueueSize)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLogIds)), logIds)); + ReturnErrorOnFailure( + DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTempAccountIdentifier)), tempAccountIdentifier)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kSetupPIN)), setupPIN)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -22132,11 +17612,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kLogQueueSize): - ReturnErrorOnFailure(DataModel::Decode(reader, logQueueSize)); + case to_underlying(Fields::kTempAccountIdentifier): + ReturnErrorOnFailure(DataModel::Decode(reader, tempAccountIdentifier)); break; - case to_underlying(Fields::kLogIds): - ReturnErrorOnFailure(DataModel::Decode(reader, logIds)); + case to_underlying(Fields::kSetupPIN): + ReturnErrorOnFailure(DataModel::Decode(reader, setupPIN)); break; default: break; @@ -22147,14 +17627,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace LogQueueResponse. -namespace StatisticsAvailable { +} // namespace Login. +namespace Logout { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLogQueueSize)), logQueueSize)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLogIds)), logIds)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } @@ -22173,12 +17651,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } switch (TLV::TagNumFromTag(reader.GetTag())) { - case to_underlying(Fields::kLogQueueSize): - ReturnErrorOnFailure(DataModel::Decode(reader, logQueueSize)); - break; - case to_underlying(Fields::kLogIds): - ReturnErrorOnFailure(DataModel::Decode(reader, logIds)); - break; default: break; } @@ -22188,7 +17660,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(reader.ExitContainer(outer)); return CHIP_NO_ERROR; } -} // namespace StatisticsAvailable. +} // namespace Logout. } // namespace Commands namespace Attributes { @@ -22196,12 +17668,6 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::LogMaxSize::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, logMaxSize)); - break; - case Attributes::LogQueueMaxSize::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, logQueueMaxSize)); - break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -22228,7 +17694,7 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events { } // namespace Events -} // namespace ApplianceStatistics +} // namespace AccountLogin namespace ElectricalMeasurement { namespace Commands { diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h index 1d94fdcf5d6783..b1d5803f3fb8dc 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h @@ -134,725 +134,608 @@ struct TypeInfo } // namespace Attributes } // namespace Globals -namespace PowerConfiguration { +namespace Identify { -namespace Attributes { +namespace Commands { +// Forward-declarations so we can reference these later. -namespace MainsVoltage { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +namespace Identify { +struct Type; +struct DecodableType; +} // namespace Identify - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MainsVoltage::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MainsVoltage -namespace MainsFrequency { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +namespace TriggerEffect { +struct Type; +struct DecodableType; +} // namespace TriggerEffect - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MainsFrequency::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MainsFrequency -namespace MainsAlarmMask { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +} // namespace Commands - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MainsAlarmMask::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MainsAlarmMask -namespace MainsVoltageMinThreshold { -struct TypeInfo +namespace Commands { +namespace Identify { +enum class Fields { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MainsVoltageMinThreshold::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kIdentifyTime = 0, }; -} // namespace MainsVoltageMinThreshold -namespace MainsVoltageMaxThreshold { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MainsVoltageMaxThreshold::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MainsVoltageMaxThreshold -namespace MainsVoltageDwellTrip { -struct TypeInfo +struct Type { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::Identify::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MainsVoltageDwellTrip::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint16_t identifyTime = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace MainsVoltageDwellTrip -namespace BatteryVoltage { -struct TypeInfo + +struct DecodableType { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + static constexpr CommandId GetCommandId() { return Commands::Identify::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatteryVoltage::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint16_t identifyTime = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace BatteryVoltage -namespace BatteryPercentageRemaining { -struct TypeInfo +}; // namespace Identify +namespace TriggerEffect { +enum class Fields { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatteryPercentageRemaining::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kEffectIdentifier = 0, + kEffectVariant = 1, }; -} // namespace BatteryPercentageRemaining -namespace BatteryManufacturer { -struct TypeInfo + +struct Type { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::TriggerEffect::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatteryManufacturer::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } + IdentifyEffectIdentifier effectIdentifier = static_cast(0); + IdentifyEffectVariant effectVariant = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace BatteryManufacturer -namespace BatterySize { -struct TypeInfo + +struct DecodableType { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + static constexpr CommandId GetCommandId() { return Commands::TriggerEffect::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatterySize::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + IdentifyEffectIdentifier effectIdentifier = static_cast(0); + IdentifyEffectVariant effectVariant = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace BatterySize -namespace BatteryAhrRating { +}; // namespace TriggerEffect +} // namespace Commands + +namespace Attributes { + +namespace IdentifyTime { struct TypeInfo { using Type = uint16_t; using DecodableType = uint16_t; using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatteryAhrRating::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::IdentifyTime::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace BatteryAhrRating -namespace BatteryQuantity { +} // namespace IdentifyTime +namespace IdentifyType { struct TypeInfo { using Type = uint8_t; using DecodableType = uint8_t; using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatteryQuantity::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::IdentifyType::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace BatteryQuantity -namespace BatteryRatedVoltage { -struct TypeInfo +} // namespace IdentifyType +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatteryRatedVoltage::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } }; -} // namespace BatteryRatedVoltage -namespace BatteryAlarmMask { -struct TypeInfo +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatteryAlarmMask::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } }; -} // namespace BatteryAlarmMask -namespace BatteryVoltageMinThreshold { -struct TypeInfo +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatteryVoltageMinThreshold::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } }; -} // namespace BatteryVoltageMinThreshold -namespace BatteryVoltageThreshold1 { -struct TypeInfo +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatteryVoltageThreshold1::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } }; -} // namespace BatteryVoltageThreshold1 -namespace BatteryVoltageThreshold2 { -struct TypeInfo +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatteryVoltageThreshold2::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } }; -} // namespace BatteryVoltageThreshold2 -namespace BatteryVoltageThreshold3 { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +} // namespace ClusterRevision - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatteryVoltageThreshold3::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BatteryVoltageThreshold3 -namespace BatteryPercentageMinThreshold { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatteryPercentageMinThreshold::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BatteryPercentageMinThreshold -namespace BatteryPercentageThreshold1 { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatteryPercentageThreshold1::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + Attributes::IdentifyTime::TypeInfo::DecodableType identifyTime = static_cast(0); + Attributes::IdentifyType::TypeInfo::DecodableType identifyType = static_cast(0); + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; -} // namespace BatteryPercentageThreshold1 -namespace BatteryPercentageThreshold2 { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +} // namespace Attributes +} // namespace Identify +namespace Groups { - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatteryPercentageThreshold2::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BatteryPercentageThreshold2 -namespace BatteryPercentageThreshold3 { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +namespace Commands { +// Forward-declarations so we can reference these later. - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatteryPercentageThreshold3::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BatteryPercentageThreshold3 -namespace BatteryAlarmState { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +namespace AddGroup { +struct Type; +struct DecodableType; +} // namespace AddGroup - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatteryAlarmState::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BatteryAlarmState -namespace Battery2Voltage { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +namespace AddGroupResponse { +struct Type; +struct DecodableType; +} // namespace AddGroupResponse - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery2Voltage::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +namespace ViewGroup { +struct Type; +struct DecodableType; +} // namespace ViewGroup + +namespace ViewGroupResponse { +struct Type; +struct DecodableType; +} // namespace ViewGroupResponse + +namespace GetGroupMembership { +struct Type; +struct DecodableType; +} // namespace GetGroupMembership + +namespace GetGroupMembershipResponse { +struct Type; +struct DecodableType; +} // namespace GetGroupMembershipResponse + +namespace RemoveGroup { +struct Type; +struct DecodableType; +} // namespace RemoveGroup + +namespace RemoveGroupResponse { +struct Type; +struct DecodableType; +} // namespace RemoveGroupResponse + +namespace RemoveAllGroups { +struct Type; +struct DecodableType; +} // namespace RemoveAllGroups + +namespace AddGroupIfIdentifying { +struct Type; +struct DecodableType; +} // namespace AddGroupIfIdentifying + +} // namespace Commands + +namespace Commands { +namespace AddGroup { +enum class Fields +{ + kGroupId = 0, + kGroupName = 1, }; -} // namespace Battery2Voltage -namespace Battery2PercentageRemaining { -struct TypeInfo + +struct Type { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::AddGroup::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery2PercentageRemaining::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + chip::GroupId groupId = static_cast(0); + chip::CharSpan groupName; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::Groups::Commands::AddGroupResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace Battery2PercentageRemaining -namespace Battery2Manufacturer { -struct TypeInfo + +struct DecodableType { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; +public: + static constexpr CommandId GetCommandId() { return Commands::AddGroup::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery2Manufacturer::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } + chip::GroupId groupId = static_cast(0); + chip::CharSpan groupName; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Battery2Manufacturer -namespace Battery2Size { -struct TypeInfo +}; // namespace AddGroup +namespace AddGroupResponse { +enum class Fields { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery2Size::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kStatus = 0, + kGroupId = 1, }; -} // namespace Battery2Size -namespace Battery2AhrRating { -struct TypeInfo + +struct Type { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::AddGroupResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery2AhrRating::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t status = static_cast(0); + chip::GroupId groupId = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace Battery2AhrRating -namespace Battery2Quantity { -struct TypeInfo + +struct DecodableType { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + static constexpr CommandId GetCommandId() { return Commands::AddGroupResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery2Quantity::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t status = static_cast(0); + chip::GroupId groupId = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Battery2Quantity -namespace Battery2RatedVoltage { -struct TypeInfo +}; // namespace AddGroupResponse +namespace ViewGroup { +enum class Fields { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery2RatedVoltage::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kGroupId = 0, }; -} // namespace Battery2RatedVoltage -namespace Battery2AlarmMask { -struct TypeInfo + +struct Type { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ViewGroup::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery2AlarmMask::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + chip::GroupId groupId = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::Groups::Commands::ViewGroupResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace Battery2AlarmMask -namespace Battery2VoltageMinThreshold { -struct TypeInfo + +struct DecodableType { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + static constexpr CommandId GetCommandId() { return Commands::ViewGroup::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery2VoltageMinThreshold::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + chip::GroupId groupId = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Battery2VoltageMinThreshold -namespace Battery2VoltageThreshold1 { -struct TypeInfo +}; // namespace ViewGroup +namespace ViewGroupResponse { +enum class Fields { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery2VoltageThreshold1::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kStatus = 0, + kGroupId = 1, + kGroupName = 2, }; -} // namespace Battery2VoltageThreshold1 -namespace Battery2VoltageThreshold2 { -struct TypeInfo + +struct Type { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ViewGroupResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery2VoltageThreshold2::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t status = static_cast(0); + chip::GroupId groupId = static_cast(0); + chip::CharSpan groupName; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace Battery2VoltageThreshold2 -namespace Battery2VoltageThreshold3 { -struct TypeInfo + +struct DecodableType { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + static constexpr CommandId GetCommandId() { return Commands::ViewGroupResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery2VoltageThreshold3::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t status = static_cast(0); + chip::GroupId groupId = static_cast(0); + chip::CharSpan groupName; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Battery2VoltageThreshold3 -namespace Battery2PercentageMinThreshold { -struct TypeInfo +}; // namespace ViewGroupResponse +namespace GetGroupMembership { +enum class Fields { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery2PercentageMinThreshold::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kGroupList = 0, }; -} // namespace Battery2PercentageMinThreshold -namespace Battery2PercentageThreshold1 { -struct TypeInfo + +struct Type { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::GetGroupMembership::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery2PercentageThreshold1::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + DataModel::List groupList; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::Groups::Commands::GetGroupMembershipResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace Battery2PercentageThreshold1 -namespace Battery2PercentageThreshold2 { -struct TypeInfo + +struct DecodableType { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + static constexpr CommandId GetCommandId() { return Commands::GetGroupMembership::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery2PercentageThreshold2::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + DataModel::DecodableList groupList; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Battery2PercentageThreshold2 -namespace Battery2PercentageThreshold3 { -struct TypeInfo +}; // namespace GetGroupMembership +namespace GetGroupMembershipResponse { +enum class Fields { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery2PercentageThreshold3::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kCapacity = 0, + kGroupList = 1, }; -} // namespace Battery2PercentageThreshold3 -namespace Battery2AlarmState { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery2AlarmState::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Battery2AlarmState -namespace Battery3Voltage { -struct TypeInfo +struct Type { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::GetGroupMembershipResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery3Voltage::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Battery3Voltage -namespace Battery3PercentageRemaining { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + DataModel::Nullable capacity; + DataModel::List groupList; - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery3PercentageRemaining::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace Battery3PercentageRemaining -namespace Battery3Manufacturer { -struct TypeInfo + +struct DecodableType { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; +public: + static constexpr CommandId GetCommandId() { return Commands::GetGroupMembershipResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery3Manufacturer::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } + DataModel::Nullable capacity; + DataModel::DecodableList groupList; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Battery3Manufacturer -namespace Battery3Size { -struct TypeInfo +}; // namespace GetGroupMembershipResponse +namespace RemoveGroup { +enum class Fields { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery3Size::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kGroupId = 0, }; -} // namespace Battery3Size -namespace Battery3AhrRating { -struct TypeInfo + +struct Type { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::RemoveGroup::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery3AhrRating::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + chip::GroupId groupId = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::Groups::Commands::RemoveGroupResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace Battery3AhrRating -namespace Battery3Quantity { -struct TypeInfo + +struct DecodableType { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + static constexpr CommandId GetCommandId() { return Commands::RemoveGroup::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery3Quantity::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + chip::GroupId groupId = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Battery3Quantity -namespace Battery3RatedVoltage { -struct TypeInfo +}; // namespace RemoveGroup +namespace RemoveGroupResponse { +enum class Fields { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery3RatedVoltage::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kStatus = 0, + kGroupId = 1, }; -} // namespace Battery3RatedVoltage -namespace Battery3AlarmMask { -struct TypeInfo + +struct Type { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::RemoveGroupResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery3AlarmMask::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t status = static_cast(0); + chip::GroupId groupId = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace Battery3AlarmMask -namespace Battery3VoltageMinThreshold { -struct TypeInfo + +struct DecodableType { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + static constexpr CommandId GetCommandId() { return Commands::RemoveGroupResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery3VoltageMinThreshold::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t status = static_cast(0); + chip::GroupId groupId = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Battery3VoltageMinThreshold -namespace Battery3VoltageThreshold1 { -struct TypeInfo +}; // namespace RemoveGroupResponse +namespace RemoveAllGroups { +enum class Fields { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery3VoltageThreshold1::Id; } - static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Battery3VoltageThreshold1 -namespace Battery3VoltageThreshold2 { -struct TypeInfo + +struct Type { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::RemoveAllGroups::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery3VoltageThreshold2::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace Battery3VoltageThreshold2 -namespace Battery3VoltageThreshold3 { -struct TypeInfo + +struct DecodableType { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + static constexpr CommandId GetCommandId() { return Commands::RemoveAllGroups::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery3VoltageThreshold3::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Battery3VoltageThreshold3 -namespace Battery3PercentageMinThreshold { -struct TypeInfo +}; // namespace RemoveAllGroups +namespace AddGroupIfIdentifying { +enum class Fields { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery3PercentageMinThreshold::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kGroupId = 0, + kGroupName = 1, }; -} // namespace Battery3PercentageMinThreshold -namespace Battery3PercentageThreshold1 { -struct TypeInfo + +struct Type { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::AddGroupIfIdentifying::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery3PercentageThreshold1::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + chip::GroupId groupId = static_cast(0); + chip::CharSpan groupName; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace Battery3PercentageThreshold1 -namespace Battery3PercentageThreshold2 { -struct TypeInfo + +struct DecodableType { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + static constexpr CommandId GetCommandId() { return Commands::AddGroupIfIdentifying::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery3PercentageThreshold2::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + chip::GroupId groupId = static_cast(0); + chip::CharSpan groupName; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Battery3PercentageThreshold2 -namespace Battery3PercentageThreshold3 { +}; // namespace AddGroupIfIdentifying +} // namespace Commands + +namespace Attributes { + +namespace NameSupport { struct TypeInfo { using Type = uint8_t; using DecodableType = uint8_t; using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery3PercentageThreshold3::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Battery3PercentageThreshold3 -namespace Battery3AlarmState { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Battery3AlarmState::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NameSupport::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Battery3AlarmState +} // namespace NameSupport namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } }; } // namespace ClusterRevision @@ -860,69 +743,11 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::MainsVoltage::TypeInfo::DecodableType mainsVoltage = static_cast(0); - Attributes::MainsFrequency::TypeInfo::DecodableType mainsFrequency = static_cast(0); - Attributes::MainsAlarmMask::TypeInfo::DecodableType mainsAlarmMask = static_cast(0); - Attributes::MainsVoltageMinThreshold::TypeInfo::DecodableType mainsVoltageMinThreshold = static_cast(0); - Attributes::MainsVoltageMaxThreshold::TypeInfo::DecodableType mainsVoltageMaxThreshold = static_cast(0); - Attributes::MainsVoltageDwellTrip::TypeInfo::DecodableType mainsVoltageDwellTrip = static_cast(0); - Attributes::BatteryVoltage::TypeInfo::DecodableType batteryVoltage = static_cast(0); - Attributes::BatteryPercentageRemaining::TypeInfo::DecodableType batteryPercentageRemaining = static_cast(0); - Attributes::BatteryManufacturer::TypeInfo::DecodableType batteryManufacturer; - Attributes::BatterySize::TypeInfo::DecodableType batterySize = static_cast(0); - Attributes::BatteryAhrRating::TypeInfo::DecodableType batteryAhrRating = static_cast(0); - Attributes::BatteryQuantity::TypeInfo::DecodableType batteryQuantity = static_cast(0); - Attributes::BatteryRatedVoltage::TypeInfo::DecodableType batteryRatedVoltage = static_cast(0); - Attributes::BatteryAlarmMask::TypeInfo::DecodableType batteryAlarmMask = static_cast(0); - Attributes::BatteryVoltageMinThreshold::TypeInfo::DecodableType batteryVoltageMinThreshold = static_cast(0); - Attributes::BatteryVoltageThreshold1::TypeInfo::DecodableType batteryVoltageThreshold1 = static_cast(0); - Attributes::BatteryVoltageThreshold2::TypeInfo::DecodableType batteryVoltageThreshold2 = static_cast(0); - Attributes::BatteryVoltageThreshold3::TypeInfo::DecodableType batteryVoltageThreshold3 = static_cast(0); - Attributes::BatteryPercentageMinThreshold::TypeInfo::DecodableType batteryPercentageMinThreshold = static_cast(0); - Attributes::BatteryPercentageThreshold1::TypeInfo::DecodableType batteryPercentageThreshold1 = static_cast(0); - Attributes::BatteryPercentageThreshold2::TypeInfo::DecodableType batteryPercentageThreshold2 = static_cast(0); - Attributes::BatteryPercentageThreshold3::TypeInfo::DecodableType batteryPercentageThreshold3 = static_cast(0); - Attributes::BatteryAlarmState::TypeInfo::DecodableType batteryAlarmState = static_cast(0); - Attributes::Battery2Voltage::TypeInfo::DecodableType battery2Voltage = static_cast(0); - Attributes::Battery2PercentageRemaining::TypeInfo::DecodableType battery2PercentageRemaining = static_cast(0); - Attributes::Battery2Manufacturer::TypeInfo::DecodableType battery2Manufacturer; - Attributes::Battery2Size::TypeInfo::DecodableType battery2Size = static_cast(0); - Attributes::Battery2AhrRating::TypeInfo::DecodableType battery2AhrRating = static_cast(0); - Attributes::Battery2Quantity::TypeInfo::DecodableType battery2Quantity = static_cast(0); - Attributes::Battery2RatedVoltage::TypeInfo::DecodableType battery2RatedVoltage = static_cast(0); - Attributes::Battery2AlarmMask::TypeInfo::DecodableType battery2AlarmMask = static_cast(0); - Attributes::Battery2VoltageMinThreshold::TypeInfo::DecodableType battery2VoltageMinThreshold = static_cast(0); - Attributes::Battery2VoltageThreshold1::TypeInfo::DecodableType battery2VoltageThreshold1 = static_cast(0); - Attributes::Battery2VoltageThreshold2::TypeInfo::DecodableType battery2VoltageThreshold2 = static_cast(0); - Attributes::Battery2VoltageThreshold3::TypeInfo::DecodableType battery2VoltageThreshold3 = static_cast(0); - Attributes::Battery2PercentageMinThreshold::TypeInfo::DecodableType battery2PercentageMinThreshold = - static_cast(0); - Attributes::Battery2PercentageThreshold1::TypeInfo::DecodableType battery2PercentageThreshold1 = static_cast(0); - Attributes::Battery2PercentageThreshold2::TypeInfo::DecodableType battery2PercentageThreshold2 = static_cast(0); - Attributes::Battery2PercentageThreshold3::TypeInfo::DecodableType battery2PercentageThreshold3 = static_cast(0); - Attributes::Battery2AlarmState::TypeInfo::DecodableType battery2AlarmState = static_cast(0); - Attributes::Battery3Voltage::TypeInfo::DecodableType battery3Voltage = static_cast(0); - Attributes::Battery3PercentageRemaining::TypeInfo::DecodableType battery3PercentageRemaining = static_cast(0); - Attributes::Battery3Manufacturer::TypeInfo::DecodableType battery3Manufacturer; - Attributes::Battery3Size::TypeInfo::DecodableType battery3Size = static_cast(0); - Attributes::Battery3AhrRating::TypeInfo::DecodableType battery3AhrRating = static_cast(0); - Attributes::Battery3Quantity::TypeInfo::DecodableType battery3Quantity = static_cast(0); - Attributes::Battery3RatedVoltage::TypeInfo::DecodableType battery3RatedVoltage = static_cast(0); - Attributes::Battery3AlarmMask::TypeInfo::DecodableType battery3AlarmMask = static_cast(0); - Attributes::Battery3VoltageMinThreshold::TypeInfo::DecodableType battery3VoltageMinThreshold = static_cast(0); - Attributes::Battery3VoltageThreshold1::TypeInfo::DecodableType battery3VoltageThreshold1 = static_cast(0); - Attributes::Battery3VoltageThreshold2::TypeInfo::DecodableType battery3VoltageThreshold2 = static_cast(0); - Attributes::Battery3VoltageThreshold3::TypeInfo::DecodableType battery3VoltageThreshold3 = static_cast(0); - Attributes::Battery3PercentageMinThreshold::TypeInfo::DecodableType battery3PercentageMinThreshold = - static_cast(0); - Attributes::Battery3PercentageThreshold1::TypeInfo::DecodableType battery3PercentageThreshold1 = static_cast(0); - Attributes::Battery3PercentageThreshold2::TypeInfo::DecodableType battery3PercentageThreshold2 = static_cast(0); - Attributes::Battery3PercentageThreshold3::TypeInfo::DecodableType battery3PercentageThreshold3 = static_cast(0); - Attributes::Battery3AlarmState::TypeInfo::DecodableType battery3AlarmState = static_cast(0); + Attributes::NameSupport::TypeInfo::DecodableType nameSupport = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -931,212 +756,198 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace PowerConfiguration -namespace DeviceTemperatureConfiguration { - -namespace Attributes { - -namespace CurrentTemperature { -struct TypeInfo +} // namespace Groups +namespace Scenes { +namespace Structs { +namespace AttributeValuePair { +enum class Fields { - using Type = int16_t; - using DecodableType = int16_t; - using DecodableArgType = int16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentTemperature::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kAttributeId = 0, + kAttributeValue = 1, }; -} // namespace CurrentTemperature -namespace MinTempExperienced { -struct TypeInfo -{ - using Type = int16_t; - using DecodableType = int16_t; - using DecodableArgType = int16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinTempExperienced::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MinTempExperienced -namespace MaxTempExperienced { -struct TypeInfo -{ - using Type = int16_t; - using DecodableType = int16_t; - using DecodableArgType = int16_t; - static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxTempExperienced::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MaxTempExperienced -namespace OverTempTotalDwell { -struct TypeInfo +struct Type { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + Optional attributeId; + DataModel::List attributeValue; - static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OverTempTotalDwell::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace OverTempTotalDwell -namespace DeviceTempAlarmMask { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DeviceTempAlarmMask::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace DeviceTempAlarmMask -namespace LowTempThreshold { -struct TypeInfo -{ - using Type = int16_t; - using DecodableType = int16_t; - using DecodableArgType = int16_t; - static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LowTempThreshold::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace LowTempThreshold -namespace HighTempThreshold { -struct TypeInfo +struct DecodableType { - using Type = int16_t; - using DecodableType = int16_t; - using DecodableArgType = int16_t; +public: + Optional attributeId; + DataModel::DecodableList attributeValue; - static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::HighTempThreshold::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace HighTempThreshold -namespace LowTempDwellTripPoint { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; + CHIP_ERROR Decode(TLV::TLVReader & reader); - static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LowTempDwellTripPoint::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr bool kIsFabricScoped = false; }; -} // namespace LowTempDwellTripPoint -namespace HighTempDwellTripPoint { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::HighTempDwellTripPoint::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace HighTempDwellTripPoint -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace AttributeValuePair +namespace ExtensionFieldSet { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } + kClusterId = 0, + kAttributeValueList = 1, }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } +public: + chip::ClusterId clusterId = static_cast(0); + DataModel::List attributeValueList; + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace ClusterRevision -struct TypeInfo +struct DecodableType { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } +public: + chip::ClusterId clusterId = static_cast(0); + DataModel::DecodableList attributeValueList; - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + CHIP_ERROR Decode(TLV::TLVReader & reader); - Attributes::CurrentTemperature::TypeInfo::DecodableType currentTemperature = static_cast(0); - Attributes::MinTempExperienced::TypeInfo::DecodableType minTempExperienced = static_cast(0); - Attributes::MaxTempExperienced::TypeInfo::DecodableType maxTempExperienced = static_cast(0); - Attributes::OverTempTotalDwell::TypeInfo::DecodableType overTempTotalDwell = static_cast(0); - Attributes::DeviceTempAlarmMask::TypeInfo::DecodableType deviceTempAlarmMask = static_cast(0); - Attributes::LowTempThreshold::TypeInfo::DecodableType lowTempThreshold = static_cast(0); - Attributes::HighTempThreshold::TypeInfo::DecodableType highTempThreshold = static_cast(0); - Attributes::LowTempDwellTripPoint::TypeInfo::DecodableType lowTempDwellTripPoint = static_cast(0); - Attributes::HighTempDwellTripPoint::TypeInfo::DecodableType highTempDwellTripPoint = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr bool kIsFabricScoped = false; }; -} // namespace Attributes -} // namespace DeviceTemperatureConfiguration -namespace Identify { + +} // namespace ExtensionFieldSet +} // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. -namespace Identify { +namespace AddScene { struct Type; struct DecodableType; -} // namespace Identify +} // namespace AddScene -namespace TriggerEffect { +namespace AddSceneResponse { struct Type; struct DecodableType; -} // namespace TriggerEffect +} // namespace AddSceneResponse + +namespace ViewScene { +struct Type; +struct DecodableType; +} // namespace ViewScene + +namespace ViewSceneResponse { +struct Type; +struct DecodableType; +} // namespace ViewSceneResponse + +namespace RemoveScene { +struct Type; +struct DecodableType; +} // namespace RemoveScene + +namespace RemoveSceneResponse { +struct Type; +struct DecodableType; +} // namespace RemoveSceneResponse + +namespace RemoveAllScenes { +struct Type; +struct DecodableType; +} // namespace RemoveAllScenes + +namespace RemoveAllScenesResponse { +struct Type; +struct DecodableType; +} // namespace RemoveAllScenesResponse + +namespace StoreScene { +struct Type; +struct DecodableType; +} // namespace StoreScene + +namespace StoreSceneResponse { +struct Type; +struct DecodableType; +} // namespace StoreSceneResponse + +namespace RecallScene { +struct Type; +struct DecodableType; +} // namespace RecallScene + +namespace GetSceneMembership { +struct Type; +struct DecodableType; +} // namespace GetSceneMembership + +namespace GetSceneMembershipResponse { +struct Type; +struct DecodableType; +} // namespace GetSceneMembershipResponse + +namespace EnhancedAddScene { +struct Type; +struct DecodableType; +} // namespace EnhancedAddScene + +namespace EnhancedAddSceneResponse { +struct Type; +struct DecodableType; +} // namespace EnhancedAddSceneResponse + +namespace EnhancedViewScene { +struct Type; +struct DecodableType; +} // namespace EnhancedViewScene + +namespace EnhancedViewSceneResponse { +struct Type; +struct DecodableType; +} // namespace EnhancedViewSceneResponse + +namespace CopyScene { +struct Type; +struct DecodableType; +} // namespace CopyScene + +namespace CopySceneResponse { +struct Type; +struct DecodableType; +} // namespace CopySceneResponse } // namespace Commands namespace Commands { -namespace Identify { +namespace AddScene { enum class Fields { - kIdentifyTime = 0, + kGroupId = 0, + kSceneId = 1, + kTransitionTime = 2, + kSceneName = 3, + kExtensionFieldSets = 4, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::Identify::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } + static constexpr CommandId GetCommandId() { return Commands::AddScene::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - uint16_t identifyTime = static_cast(0); + chip::GroupId groupId = static_cast(0); + uint8_t sceneId = static_cast(0); + uint16_t transitionTime = static_cast(0); + chip::CharSpan sceneName; + DataModel::List extensionFieldSets; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = DataModel::NullObjectType; + using ResponseType = Clusters::Scenes::Commands::AddSceneResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -1144,29 +955,35 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::Identify::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } + static constexpr CommandId GetCommandId() { return Commands::AddScene::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - uint16_t identifyTime = static_cast(0); + chip::GroupId groupId = static_cast(0); + uint8_t sceneId = static_cast(0); + uint16_t transitionTime = static_cast(0); + chip::CharSpan sceneName; + DataModel::DecodableList extensionFieldSets; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace Identify -namespace TriggerEffect { +}; // namespace AddScene +namespace AddSceneResponse { enum class Fields { - kEffectIdentifier = 0, - kEffectVariant = 1, + kStatus = 0, + kGroupId = 1, + kSceneId = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::TriggerEffect::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } + static constexpr CommandId GetCommandId() { return Commands::AddSceneResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - IdentifyEffectIdentifier effectIdentifier = static_cast(0); - IdentifyEffectVariant effectVariant = static_cast(0); + uint8_t status = static_cast(0); + chip::GroupId groupId = static_cast(0); + uint8_t sceneId = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -1178,170 +995,35 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::TriggerEffect::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } + static constexpr CommandId GetCommandId() { return Commands::AddSceneResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - IdentifyEffectIdentifier effectIdentifier = static_cast(0); - IdentifyEffectVariant effectVariant = static_cast(0); + uint8_t status = static_cast(0); + chip::GroupId groupId = static_cast(0); + uint8_t sceneId = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace TriggerEffect -} // namespace Commands - -namespace Attributes { - -namespace IdentifyTime { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::IdentifyTime::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace IdentifyTime -namespace IdentifyType { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::IdentifyType::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace IdentifyType -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } -}; -} // namespace ClusterRevision - -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - - Attributes::IdentifyTime::TypeInfo::DecodableType identifyTime = static_cast(0); - Attributes::IdentifyType::TypeInfo::DecodableType identifyType = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace Identify -namespace Groups { - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace AddGroup { -struct Type; -struct DecodableType; -} // namespace AddGroup - -namespace AddGroupResponse { -struct Type; -struct DecodableType; -} // namespace AddGroupResponse - -namespace ViewGroup { -struct Type; -struct DecodableType; -} // namespace ViewGroup - -namespace ViewGroupResponse { -struct Type; -struct DecodableType; -} // namespace ViewGroupResponse - -namespace GetGroupMembership { -struct Type; -struct DecodableType; -} // namespace GetGroupMembership - -namespace GetGroupMembershipResponse { -struct Type; -struct DecodableType; -} // namespace GetGroupMembershipResponse - -namespace RemoveGroup { -struct Type; -struct DecodableType; -} // namespace RemoveGroup - -namespace RemoveGroupResponse { -struct Type; -struct DecodableType; -} // namespace RemoveGroupResponse - -namespace RemoveAllGroups { -struct Type; -struct DecodableType; -} // namespace RemoveAllGroups - -namespace AddGroupIfIdentifying { -struct Type; -struct DecodableType; -} // namespace AddGroupIfIdentifying - -} // namespace Commands - -namespace Commands { -namespace AddGroup { +}; // namespace AddSceneResponse +namespace ViewScene { enum class Fields { - kGroupId = 0, - kGroupName = 1, + kGroupId = 0, + kSceneId = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::AddGroup::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::ViewScene::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } chip::GroupId groupId = static_cast(0); - chip::CharSpan groupName; + uint8_t sceneId = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::Groups::Commands::AddGroupResponse::DecodableType; + using ResponseType = Clusters::Scenes::Commands::ViewSceneResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -1349,30 +1031,38 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::AddGroup::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::ViewScene::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } chip::GroupId groupId = static_cast(0); - chip::CharSpan groupName; + uint8_t sceneId = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace AddGroup -namespace AddGroupResponse { +}; // namespace ViewScene +namespace ViewSceneResponse { enum class Fields { - kStatus = 0, - kGroupId = 1, + kStatus = 0, + kGroupId = 1, + kSceneId = 2, + kTransitionTime = 3, + kSceneName = 4, + kExtensionFieldSets = 5, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::AddGroupResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::ViewSceneResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } uint8_t status = static_cast(0); chip::GroupId groupId = static_cast(0); + uint8_t sceneId = static_cast(0); + Optional transitionTime; + Optional sceneName; + Optional> extensionFieldSets; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -1384,32 +1074,38 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::AddGroupResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::ViewSceneResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } uint8_t status = static_cast(0); chip::GroupId groupId = static_cast(0); + uint8_t sceneId = static_cast(0); + Optional transitionTime; + Optional sceneName; + Optional> extensionFieldSets; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace AddGroupResponse -namespace ViewGroup { +}; // namespace ViewSceneResponse +namespace RemoveScene { enum class Fields { kGroupId = 0, + kSceneId = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ViewGroup::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::RemoveScene::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } chip::GroupId groupId = static_cast(0); + uint8_t sceneId = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::Groups::Commands::ViewGroupResponse::DecodableType; + using ResponseType = Clusters::Scenes::Commands::RemoveSceneResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -1417,31 +1113,32 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::ViewGroup::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::RemoveScene::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } chip::GroupId groupId = static_cast(0); + uint8_t sceneId = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace ViewGroup -namespace ViewGroupResponse { +}; // namespace RemoveScene +namespace RemoveSceneResponse { enum class Fields { - kStatus = 0, - kGroupId = 1, - kGroupName = 2, + kStatus = 0, + kGroupId = 1, + kSceneId = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ViewGroupResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::RemoveSceneResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } uint8_t status = static_cast(0); chip::GroupId groupId = static_cast(0); - chip::CharSpan groupName; + uint8_t sceneId = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -1453,33 +1150,33 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::ViewGroupResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::RemoveSceneResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } uint8_t status = static_cast(0); chip::GroupId groupId = static_cast(0); - chip::CharSpan groupName; + uint8_t sceneId = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace ViewGroupResponse -namespace GetGroupMembership { +}; // namespace RemoveSceneResponse +namespace RemoveAllScenes { enum class Fields { - kGroupList = 0, + kGroupId = 0, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetGroupMembership::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::RemoveAllScenes::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - DataModel::List groupList; + chip::GroupId groupId = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::Groups::Commands::GetGroupMembershipResponse::DecodableType; + using ResponseType = Clusters::Scenes::Commands::RemoveAllScenesResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -1487,29 +1184,29 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::GetGroupMembership::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - - DataModel::DecodableList groupList; + static constexpr CommandId GetCommandId() { return Commands::RemoveAllScenes::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + + chip::GroupId groupId = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace GetGroupMembership -namespace GetGroupMembershipResponse { +}; // namespace RemoveAllScenes +namespace RemoveAllScenesResponse { enum class Fields { - kCapacity = 0, - kGroupList = 1, + kStatus = 0, + kGroupId = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetGroupMembershipResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::RemoveAllScenesResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - DataModel::Nullable capacity; - DataModel::List groupList; + uint8_t status = static_cast(0); + chip::GroupId groupId = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -1521,32 +1218,34 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::GetGroupMembershipResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::RemoveAllScenesResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - DataModel::Nullable capacity; - DataModel::DecodableList groupList; + uint8_t status = static_cast(0); + chip::GroupId groupId = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace GetGroupMembershipResponse -namespace RemoveGroup { +}; // namespace RemoveAllScenesResponse +namespace StoreScene { enum class Fields { kGroupId = 0, + kSceneId = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::RemoveGroup::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::StoreScene::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } chip::GroupId groupId = static_cast(0); + uint8_t sceneId = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::Groups::Commands::RemoveGroupResponse::DecodableType; + using ResponseType = Clusters::Scenes::Commands::StoreSceneResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -1554,29 +1253,32 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::RemoveGroup::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::StoreScene::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } chip::GroupId groupId = static_cast(0); + uint8_t sceneId = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace RemoveGroup -namespace RemoveGroupResponse { +}; // namespace StoreScene +namespace StoreSceneResponse { enum class Fields { kStatus = 0, kGroupId = 1, + kSceneId = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::RemoveGroupResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::StoreSceneResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } uint8_t status = static_cast(0); chip::GroupId groupId = static_cast(0); + uint8_t sceneId = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -1588,25 +1290,33 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::RemoveGroupResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::StoreSceneResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } uint8_t status = static_cast(0); chip::GroupId groupId = static_cast(0); + uint8_t sceneId = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace RemoveGroupResponse -namespace RemoveAllGroups { +}; // namespace StoreSceneResponse +namespace RecallScene { enum class Fields { + kGroupId = 0, + kSceneId = 1, + kTransitionTime = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::RemoveAllGroups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::RecallScene::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + + chip::GroupId groupId = static_cast(0); + uint8_t sceneId = static_cast(0); + Optional> transitionTime; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -1618,32 +1328,33 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::RemoveAllGroups::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::RecallScene::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + chip::GroupId groupId = static_cast(0); + uint8_t sceneId = static_cast(0); + Optional> transitionTime; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace RemoveAllGroups -namespace AddGroupIfIdentifying { +}; // namespace RecallScene +namespace GetSceneMembership { enum class Fields { - kGroupId = 0, - kGroupName = 1, + kGroupId = 0, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::AddGroupIfIdentifying::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::GetSceneMembership::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } chip::GroupId groupId = static_cast(0); - chip::CharSpan groupName; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = DataModel::NullObjectType; + using ResponseType = Clusters::Scenes::Commands::GetSceneMembershipResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -1651,318 +1362,128 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::AddGroupIfIdentifying::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr CommandId GetCommandId() { return Commands::GetSceneMembership::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } chip::GroupId groupId = static_cast(0); - chip::CharSpan groupName; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace AddGroupIfIdentifying -} // namespace Commands - -namespace Attributes { - -namespace NameSupport { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NameSupport::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace NameSupport -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +}; // namespace GetSceneMembership +namespace GetSceneMembershipResponse { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + kStatus = 0, + kCapacity = 1, + kGroupId = 2, + kSceneList = 3, }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::GetSceneMembershipResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + + uint8_t status = static_cast(0); + DataModel::Nullable capacity; + chip::GroupId groupId = static_cast(0); + Optional> sceneList; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace ClusterRevision -struct TypeInfo +struct DecodableType { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +public: + static constexpr CommandId GetCommandId() { return Commands::GetSceneMembershipResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - Attributes::NameSupport::TypeInfo::DecodableType nameSupport = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + uint8_t status = static_cast(0); + DataModel::Nullable capacity; + chip::GroupId groupId = static_cast(0); + Optional> sceneList; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Attributes -} // namespace Groups -namespace Scenes { -namespace Structs { -namespace AttributeValuePair { +}; // namespace GetSceneMembershipResponse +namespace EnhancedAddScene { enum class Fields { - kAttributeId = 0, - kAttributeValue = 1, + kGroupId = 0, + kSceneId = 1, + kTransitionTime = 2, + kSceneName = 3, + kExtensionFieldSets = 4, }; struct Type { public: - Optional attributeId; - DataModel::List attributeValue; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::EnhancedAddScene::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - static constexpr bool kIsFabricScoped = false; + chip::GroupId groupId = static_cast(0); + uint8_t sceneId = static_cast(0); + uint16_t transitionTime = static_cast(0); + chip::CharSpan sceneName; + DataModel::List extensionFieldSets; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::Scenes::Commands::EnhancedAddSceneResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - Optional attributeId; - DataModel::DecodableList attributeValue; + static constexpr CommandId GetCommandId() { return Commands::EnhancedAddScene::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + chip::GroupId groupId = static_cast(0); + uint8_t sceneId = static_cast(0); + uint16_t transitionTime = static_cast(0); + chip::CharSpan sceneName; + DataModel::DecodableList extensionFieldSets; CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; }; - -} // namespace AttributeValuePair -namespace ExtensionFieldSet { +}; // namespace EnhancedAddScene +namespace EnhancedAddSceneResponse { enum class Fields { - kClusterId = 0, - kAttributeValueList = 1, + kStatus = 0, + kGroupId = 1, + kSceneId = 2, }; struct Type { public: - chip::ClusterId clusterId = static_cast(0); - DataModel::List attributeValueList; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::EnhancedAddSceneResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - static constexpr bool kIsFabricScoped = false; + uint8_t status = static_cast(0); + chip::GroupId groupId = static_cast(0); + uint8_t sceneId = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - chip::ClusterId clusterId = static_cast(0); - DataModel::DecodableList attributeValueList; - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; -}; - -} // namespace ExtensionFieldSet -} // namespace Structs - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace AddScene { -struct Type; -struct DecodableType; -} // namespace AddScene - -namespace AddSceneResponse { -struct Type; -struct DecodableType; -} // namespace AddSceneResponse - -namespace ViewScene { -struct Type; -struct DecodableType; -} // namespace ViewScene - -namespace ViewSceneResponse { -struct Type; -struct DecodableType; -} // namespace ViewSceneResponse - -namespace RemoveScene { -struct Type; -struct DecodableType; -} // namespace RemoveScene - -namespace RemoveSceneResponse { -struct Type; -struct DecodableType; -} // namespace RemoveSceneResponse - -namespace RemoveAllScenes { -struct Type; -struct DecodableType; -} // namespace RemoveAllScenes - -namespace RemoveAllScenesResponse { -struct Type; -struct DecodableType; -} // namespace RemoveAllScenesResponse - -namespace StoreScene { -struct Type; -struct DecodableType; -} // namespace StoreScene - -namespace StoreSceneResponse { -struct Type; -struct DecodableType; -} // namespace StoreSceneResponse - -namespace RecallScene { -struct Type; -struct DecodableType; -} // namespace RecallScene - -namespace GetSceneMembership { -struct Type; -struct DecodableType; -} // namespace GetSceneMembership - -namespace GetSceneMembershipResponse { -struct Type; -struct DecodableType; -} // namespace GetSceneMembershipResponse - -namespace EnhancedAddScene { -struct Type; -struct DecodableType; -} // namespace EnhancedAddScene - -namespace EnhancedAddSceneResponse { -struct Type; -struct DecodableType; -} // namespace EnhancedAddSceneResponse - -namespace EnhancedViewScene { -struct Type; -struct DecodableType; -} // namespace EnhancedViewScene - -namespace EnhancedViewSceneResponse { -struct Type; -struct DecodableType; -} // namespace EnhancedViewSceneResponse - -namespace CopyScene { -struct Type; -struct DecodableType; -} // namespace CopyScene - -namespace CopySceneResponse { -struct Type; -struct DecodableType; -} // namespace CopySceneResponse - -} // namespace Commands - -namespace Commands { -namespace AddScene { -enum class Fields -{ - kGroupId = 0, - kSceneId = 1, - kTransitionTime = 2, - kSceneName = 3, - kExtensionFieldSets = 4, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::AddScene::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); - uint16_t transitionTime = static_cast(0); - chip::CharSpan sceneName; - DataModel::List extensionFieldSets; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::Scenes::Commands::AddSceneResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::AddScene::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); - uint16_t transitionTime = static_cast(0); - chip::CharSpan sceneName; - DataModel::DecodableList extensionFieldSets; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace AddScene -namespace AddSceneResponse { -enum class Fields -{ - kStatus = 0, - kGroupId = 1, - kSceneId = 2, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::AddSceneResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - - uint8_t status = static_cast(0); - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::AddSceneResponse::Id; } + static constexpr CommandId GetCommandId() { return Commands::EnhancedAddSceneResponse::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } uint8_t status = static_cast(0); @@ -1970,8 +1491,8 @@ struct DecodableType uint8_t sceneId = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace AddSceneResponse -namespace ViewScene { +}; // namespace EnhancedAddSceneResponse +namespace EnhancedViewScene { enum class Fields { kGroupId = 0, @@ -1982,7 +1503,7 @@ struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ViewScene::Id; } + static constexpr CommandId GetCommandId() { return Commands::EnhancedViewScene::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } chip::GroupId groupId = static_cast(0); @@ -1990,7 +1511,7 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::Scenes::Commands::ViewSceneResponse::DecodableType; + using ResponseType = Clusters::Scenes::Commands::EnhancedViewSceneResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -1998,15 +1519,15 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::ViewScene::Id; } + static constexpr CommandId GetCommandId() { return Commands::EnhancedViewScene::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } chip::GroupId groupId = static_cast(0); uint8_t sceneId = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace ViewScene -namespace ViewSceneResponse { +}; // namespace EnhancedViewScene +namespace EnhancedViewSceneResponse { enum class Fields { kStatus = 0, @@ -2021,7 +1542,7 @@ struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ViewSceneResponse::Id; } + static constexpr CommandId GetCommandId() { return Commands::EnhancedViewSceneResponse::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } uint8_t status = static_cast(0); @@ -2041,7 +1562,7 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::ViewSceneResponse::Id; } + static constexpr CommandId GetCommandId() { return Commands::EnhancedViewSceneResponse::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } uint8_t status = static_cast(0); @@ -2052,27 +1573,33 @@ struct DecodableType Optional> extensionFieldSets; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace ViewSceneResponse -namespace RemoveScene { +}; // namespace EnhancedViewSceneResponse +namespace CopyScene { enum class Fields { - kGroupId = 0, - kSceneId = 1, + kMode = 0, + kGroupIdFrom = 1, + kSceneIdFrom = 2, + kGroupIdTo = 3, + kSceneIdTo = 4, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::RemoveScene::Id; } + static constexpr CommandId GetCommandId() { return Commands::CopyScene::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); + chip::BitMask mode = static_cast>(0); + chip::GroupId groupIdFrom = static_cast(0); + uint8_t sceneIdFrom = static_cast(0); + chip::GroupId groupIdTo = static_cast(0); + uint8_t sceneIdTo = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::Scenes::Commands::RemoveSceneResponse::DecodableType; + using ResponseType = Clusters::Scenes::Commands::CopySceneResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -2080,32 +1607,35 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::RemoveScene::Id; } + static constexpr CommandId GetCommandId() { return Commands::CopyScene::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); + chip::BitMask mode = static_cast>(0); + chip::GroupId groupIdFrom = static_cast(0); + uint8_t sceneIdFrom = static_cast(0); + chip::GroupId groupIdTo = static_cast(0); + uint8_t sceneIdTo = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace RemoveScene -namespace RemoveSceneResponse { +}; // namespace CopyScene +namespace CopySceneResponse { enum class Fields { - kStatus = 0, - kGroupId = 1, - kSceneId = 2, + kStatus = 0, + kGroupIdFrom = 1, + kSceneIdFrom = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::RemoveSceneResponse::Id; } + static constexpr CommandId GetCommandId() { return Commands::CopySceneResponse::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - uint8_t status = static_cast(0); - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); + uint8_t status = static_cast(0); + chip::GroupId groupIdFrom = static_cast(0); + uint8_t sceneIdFrom = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -2117,63 +1647,194 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::RemoveSceneResponse::Id; } + static constexpr CommandId GetCommandId() { return Commands::CopySceneResponse::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - uint8_t status = static_cast(0); - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); + uint8_t status = static_cast(0); + chip::GroupId groupIdFrom = static_cast(0); + uint8_t sceneIdFrom = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace RemoveSceneResponse -namespace RemoveAllScenes { -enum class Fields -{ - kGroupId = 0, -}; +}; // namespace CopySceneResponse +} // namespace Commands -struct Type +namespace Attributes { + +namespace SceneCount { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::RemoveAllScenes::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SceneCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace SceneCount +namespace CurrentScene { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - chip::GroupId groupId = static_cast(0); + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentScene::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace CurrentScene +namespace CurrentGroup { +struct TypeInfo +{ + using Type = chip::GroupId; + using DecodableType = chip::GroupId; + using DecodableArgType = chip::GroupId; - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentGroup::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace CurrentGroup +namespace SceneValid { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; - using ResponseType = Clusters::Scenes::Commands::RemoveAllScenesResponse::DecodableType; + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SceneValid::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace SceneValid +namespace NameSupport { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NameSupport::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; +} // namespace NameSupport +namespace LastConfiguredBy { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; -struct DecodableType + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LastConfiguredBy::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace LastConfiguredBy +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } +}; +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } +}; +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } +}; +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::RemoveAllScenes::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } +}; +} // namespace ClusterRevision - chip::GroupId groupId = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); +struct TypeInfo +{ + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::SceneCount::TypeInfo::DecodableType sceneCount = static_cast(0); + Attributes::CurrentScene::TypeInfo::DecodableType currentScene = static_cast(0); + Attributes::CurrentGroup::TypeInfo::DecodableType currentGroup = static_cast(0); + Attributes::SceneValid::TypeInfo::DecodableType sceneValid = static_cast(0); + Attributes::NameSupport::TypeInfo::DecodableType nameSupport = static_cast(0); + Attributes::LastConfiguredBy::TypeInfo::DecodableType lastConfiguredBy; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; -}; // namespace RemoveAllScenes -namespace RemoveAllScenesResponse { +} // namespace Attributes +} // namespace Scenes +namespace OnOff { + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace Off { +struct Type; +struct DecodableType; +} // namespace Off + +namespace On { +struct Type; +struct DecodableType; +} // namespace On + +namespace Toggle { +struct Type; +struct DecodableType; +} // namespace Toggle + +namespace OffWithEffect { +struct Type; +struct DecodableType; +} // namespace OffWithEffect + +namespace OnWithRecallGlobalScene { +struct Type; +struct DecodableType; +} // namespace OnWithRecallGlobalScene + +namespace OnWithTimedOff { +struct Type; +struct DecodableType; +} // namespace OnWithTimedOff + +} // namespace Commands + +namespace Commands { +namespace Off { enum class Fields { - kStatus = 0, - kGroupId = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::RemoveAllScenesResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - - uint8_t status = static_cast(0); - chip::GroupId groupId = static_cast(0); + static constexpr CommandId GetCommandId() { return Commands::Off::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -2185,34 +1846,27 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::RemoveAllScenesResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr CommandId GetCommandId() { return Commands::Off::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } - uint8_t status = static_cast(0); - chip::GroupId groupId = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace RemoveAllScenesResponse -namespace StoreScene { +}; // namespace Off +namespace On { enum class Fields { - kGroupId = 0, - kSceneId = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::StoreScene::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); + static constexpr CommandId GetCommandId() { return Commands::On::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::Scenes::Commands::StoreSceneResponse::DecodableType; + using ResponseType = DataModel::NullObjectType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -2220,32 +1874,23 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::StoreScene::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr CommandId GetCommandId() { return Commands::On::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace StoreScene -namespace StoreSceneResponse { +}; // namespace On +namespace Toggle { enum class Fields { - kStatus = 0, - kGroupId = 1, - kSceneId = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::StoreSceneResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - - uint8_t status = static_cast(0); - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); + static constexpr CommandId GetCommandId() { return Commands::Toggle::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -2257,33 +1902,28 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::StoreSceneResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr CommandId GetCommandId() { return Commands::Toggle::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } - uint8_t status = static_cast(0); - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace StoreSceneResponse -namespace RecallScene { +}; // namespace Toggle +namespace OffWithEffect { enum class Fields { - kGroupId = 0, - kSceneId = 1, - kTransitionTime = 2, + kEffectId = 0, + kEffectVariant = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::RecallScene::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr CommandId GetCommandId() { return Commands::OffWithEffect::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); - Optional> transitionTime; + OnOffEffectIdentifier effectId = static_cast(0); + OnOffDelayedAllOffEffectVariant effectVariant = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -2295,33 +1935,29 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::RecallScene::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr CommandId GetCommandId() { return Commands::OffWithEffect::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); - Optional> transitionTime; + OnOffEffectIdentifier effectId = static_cast(0); + OnOffDelayedAllOffEffectVariant effectVariant = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace RecallScene -namespace GetSceneMembership { +}; // namespace OffWithEffect +namespace OnWithRecallGlobalScene { enum class Fields { - kGroupId = 0, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetSceneMembership::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - - chip::GroupId groupId = static_cast(0); + static constexpr CommandId GetCommandId() { return Commands::OnWithRecallGlobalScene::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::Scenes::Commands::GetSceneMembershipResponse::DecodableType; + using ResponseType = DataModel::NullObjectType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -2329,33 +1965,30 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::GetSceneMembership::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr CommandId GetCommandId() { return Commands::OnWithRecallGlobalScene::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } - chip::GroupId groupId = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace GetSceneMembership -namespace GetSceneMembershipResponse { +}; // namespace OnWithRecallGlobalScene +namespace OnWithTimedOff { enum class Fields { - kStatus = 0, - kCapacity = 1, - kGroupId = 2, - kSceneList = 3, + kOnOffControl = 0, + kOnTime = 1, + kOffWaitTime = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetSceneMembershipResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr CommandId GetCommandId() { return Commands::OnWithTimedOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } - uint8_t status = static_cast(0); - DataModel::Nullable capacity; - chip::GroupId groupId = static_cast(0); - Optional> sceneList; + chip::BitMask onOffControl = static_cast>(0); + uint16_t onTime = static_cast(0); + uint16_t offWaitTime = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -2367,366 +2000,188 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::GetSceneMembershipResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr CommandId GetCommandId() { return Commands::OnWithTimedOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } - uint8_t status = static_cast(0); - DataModel::Nullable capacity; - chip::GroupId groupId = static_cast(0); - Optional> sceneList; + chip::BitMask onOffControl = static_cast>(0); + uint16_t onTime = static_cast(0); + uint16_t offWaitTime = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace GetSceneMembershipResponse -namespace EnhancedAddScene { -enum class Fields -{ - kGroupId = 0, - kSceneId = 1, - kTransitionTime = 2, - kSceneName = 3, - kExtensionFieldSets = 4, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::EnhancedAddScene::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); - uint16_t transitionTime = static_cast(0); - chip::CharSpan sceneName; - DataModel::List extensionFieldSets; +}; // namespace OnWithTimedOff +} // namespace Commands - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +namespace Attributes { - using ResponseType = Clusters::Scenes::Commands::EnhancedAddSceneResponse::DecodableType; +namespace OnOff { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OnOff::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace OnOff +namespace GlobalSceneControl { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::EnhancedAddScene::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); - uint16_t transitionTime = static_cast(0); - chip::CharSpan sceneName; - DataModel::DecodableList extensionFieldSets; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::GlobalSceneControl::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace EnhancedAddScene -namespace EnhancedAddSceneResponse { -enum class Fields +} // namespace GlobalSceneControl +namespace OnTime { +struct TypeInfo { - kStatus = 0, - kGroupId = 1, - kSceneId = 2, -}; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OnTime::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace OnTime +namespace OffWaitTime { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::EnhancedAddSceneResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - - uint8_t status = static_cast(0); - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OffWaitTime::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace OffWaitTime +namespace StartUpOnOff { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::EnhancedAddSceneResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - uint8_t status = static_cast(0); - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::StartUpOnOff::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace EnhancedAddSceneResponse -namespace EnhancedViewScene { -enum class Fields +} // namespace StartUpOnOff +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - kGroupId = 0, - kSceneId = 1, + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } }; - -struct Type +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::EnhancedViewScene::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::Scenes::Commands::EnhancedViewSceneResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } }; - -struct DecodableType +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::EnhancedViewScene::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } }; -}; // namespace EnhancedViewScene -namespace EnhancedViewSceneResponse { -enum class Fields +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - kStatus = 0, - kGroupId = 1, - kSceneId = 2, - kTransitionTime = 3, - kSceneName = 4, - kExtensionFieldSets = 5, + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } }; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } +}; +} // namespace ClusterRevision -struct Type +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::EnhancedViewSceneResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } - uint8_t status = static_cast(0); - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); - Optional transitionTime; - Optional sceneName; - Optional> extensionFieldSets; + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::EnhancedViewSceneResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - - uint8_t status = static_cast(0); - chip::GroupId groupId = static_cast(0); - uint8_t sceneId = static_cast(0); - Optional transitionTime; - Optional sceneName; - Optional> extensionFieldSets; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace EnhancedViewSceneResponse -namespace CopyScene { -enum class Fields -{ - kMode = 0, - kGroupIdFrom = 1, - kSceneIdFrom = 2, - kGroupIdTo = 3, - kSceneIdTo = 4, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::CopyScene::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - - chip::BitMask mode = static_cast>(0); - chip::GroupId groupIdFrom = static_cast(0); - uint8_t sceneIdFrom = static_cast(0); - chip::GroupId groupIdTo = static_cast(0); - uint8_t sceneIdTo = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::Scenes::Commands::CopySceneResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::CopyScene::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - - chip::BitMask mode = static_cast>(0); - chip::GroupId groupIdFrom = static_cast(0); - uint8_t sceneIdFrom = static_cast(0); - chip::GroupId groupIdTo = static_cast(0); - uint8_t sceneIdTo = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace CopyScene -namespace CopySceneResponse { -enum class Fields -{ - kStatus = 0, - kGroupIdFrom = 1, - kSceneIdFrom = 2, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::CopySceneResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - - uint8_t status = static_cast(0); - chip::GroupId groupIdFrom = static_cast(0); - uint8_t sceneIdFrom = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::CopySceneResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - - uint8_t status = static_cast(0); - chip::GroupId groupIdFrom = static_cast(0); - uint8_t sceneIdFrom = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + Attributes::OnOff::TypeInfo::DecodableType onOff = static_cast(0); + Attributes::GlobalSceneControl::TypeInfo::DecodableType globalSceneControl = static_cast(0); + Attributes::OnTime::TypeInfo::DecodableType onTime = static_cast(0); + Attributes::OffWaitTime::TypeInfo::DecodableType offWaitTime = static_cast(0); + Attributes::StartUpOnOff::TypeInfo::DecodableType startUpOnOff; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; -}; // namespace CopySceneResponse -} // namespace Commands +} // namespace Attributes +} // namespace OnOff +namespace OnOffSwitchConfiguration { namespace Attributes { -namespace SceneCount { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SceneCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace SceneCount -namespace CurrentScene { +namespace SwitchType { struct TypeInfo { using Type = uint8_t; using DecodableType = uint8_t; using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentScene::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace CurrentScene -namespace CurrentGroup { -struct TypeInfo -{ - using Type = chip::GroupId; - using DecodableType = chip::GroupId; - using DecodableArgType = chip::GroupId; - - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentGroup::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace CurrentGroup -namespace SceneValid { -struct TypeInfo -{ - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; - - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SceneValid::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SwitchType::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace SceneValid -namespace NameSupport { +} // namespace SwitchType +namespace SwitchActions { struct TypeInfo { using Type = uint8_t; using DecodableType = uint8_t; using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NameSupport::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace NameSupport -namespace LastConfiguredBy { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LastConfiguredBy::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SwitchActions::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace LastConfiguredBy +} // namespace SwitchActions namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } }; } // namespace ClusterRevision @@ -2734,16 +2189,12 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::SceneCount::TypeInfo::DecodableType sceneCount = static_cast(0); - Attributes::CurrentScene::TypeInfo::DecodableType currentScene = static_cast(0); - Attributes::CurrentGroup::TypeInfo::DecodableType currentGroup = static_cast(0); - Attributes::SceneValid::TypeInfo::DecodableType sceneValid = static_cast(0); - Attributes::NameSupport::TypeInfo::DecodableType nameSupport = static_cast(0); - Attributes::LastConfiguredBy::TypeInfo::DecodableType lastConfiguredBy; + Attributes::SwitchType::TypeInfo::DecodableType switchType = static_cast(0); + Attributes::SwitchActions::TypeInfo::DecodableType switchActions = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -2752,58 +2203,82 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace Scenes -namespace OnOff { +} // namespace OnOffSwitchConfiguration +namespace LevelControl { namespace Commands { // Forward-declarations so we can reference these later. -namespace Off { +namespace MoveToLevel { struct Type; struct DecodableType; -} // namespace Off +} // namespace MoveToLevel -namespace On { +namespace Move { struct Type; struct DecodableType; -} // namespace On +} // namespace Move -namespace Toggle { +namespace Step { struct Type; struct DecodableType; -} // namespace Toggle +} // namespace Step -namespace OffWithEffect { +namespace Stop { struct Type; struct DecodableType; -} // namespace OffWithEffect +} // namespace Stop -namespace OnWithRecallGlobalScene { +namespace MoveToLevelWithOnOff { struct Type; struct DecodableType; -} // namespace OnWithRecallGlobalScene +} // namespace MoveToLevelWithOnOff -namespace OnWithTimedOff { +namespace MoveWithOnOff { struct Type; struct DecodableType; -} // namespace OnWithTimedOff +} // namespace MoveWithOnOff + +namespace StepWithOnOff { +struct Type; +struct DecodableType; +} // namespace StepWithOnOff + +namespace StopWithOnOff { +struct Type; +struct DecodableType; +} // namespace StopWithOnOff + +namespace MoveToClosestFrequency { +struct Type; +struct DecodableType; +} // namespace MoveToClosestFrequency } // namespace Commands namespace Commands { -namespace Off { +namespace MoveToLevel { enum class Fields { + kLevel = 0, + kTransitionTime = 1, + kOptionMask = 2, + kOptionOverride = 3, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::Off::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr CommandId GetCommandId() { return Commands::MoveToLevel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + + uint8_t level = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionMask = static_cast(0); + uint8_t optionOverride = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; using ResponseType = DataModel::NullObjectType; @@ -2813,23 +2288,36 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::Off::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr CommandId GetCommandId() { return Commands::MoveToLevel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + uint8_t level = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionMask = static_cast(0); + uint8_t optionOverride = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace Off -namespace On { +}; // namespace MoveToLevel +namespace Move { enum class Fields { + kMoveMode = 0, + kRate = 1, + kOptionMask = 2, + kOptionOverride = 3, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::On::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr CommandId GetCommandId() { return Commands::Move::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + + MoveMode moveMode = static_cast(0); + uint8_t rate = static_cast(0); + uint8_t optionMask = static_cast(0); + uint8_t optionOverride = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -2841,23 +2329,38 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::On::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr CommandId GetCommandId() { return Commands::Move::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + MoveMode moveMode = static_cast(0); + uint8_t rate = static_cast(0); + uint8_t optionMask = static_cast(0); + uint8_t optionOverride = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace On -namespace Toggle { +}; // namespace Move +namespace Step { enum class Fields { + kStepMode = 0, + kStepSize = 1, + kTransitionTime = 2, + kOptionMask = 3, + kOptionOverride = 4, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::Toggle::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr CommandId GetCommandId() { return Commands::Step::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + + StepMode stepMode = static_cast(0); + uint8_t stepSize = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionMask = static_cast(0); + uint8_t optionOverride = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -2869,28 +2372,33 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::Toggle::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr CommandId GetCommandId() { return Commands::Step::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + StepMode stepMode = static_cast(0); + uint8_t stepSize = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionMask = static_cast(0); + uint8_t optionOverride = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace Toggle -namespace OffWithEffect { +}; // namespace Step +namespace Stop { enum class Fields { - kEffectId = 0, - kEffectVariant = 1, + kOptionMask = 0, + kOptionOverride = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::OffWithEffect::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr CommandId GetCommandId() { return Commands::Stop::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - OnOffEffectIdentifier effectId = static_cast(0); - OnOffDelayedAllOffEffectVariant effectVariant = static_cast(0); + uint8_t optionMask = static_cast(0); + uint8_t optionOverride = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -2902,25 +2410,30 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::OffWithEffect::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr CommandId GetCommandId() { return Commands::Stop::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - OnOffEffectIdentifier effectId = static_cast(0); - OnOffDelayedAllOffEffectVariant effectVariant = static_cast(0); + uint8_t optionMask = static_cast(0); + uint8_t optionOverride = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace OffWithEffect -namespace OnWithRecallGlobalScene { +}; // namespace Stop +namespace MoveToLevelWithOnOff { enum class Fields { + kLevel = 0, + kTransitionTime = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::OnWithRecallGlobalScene::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr CommandId GetCommandId() { return Commands::MoveToLevelWithOnOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + + uint8_t level = static_cast(0); + uint16_t transitionTime = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -2932,30 +2445,30 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::OnWithRecallGlobalScene::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr CommandId GetCommandId() { return Commands::MoveToLevelWithOnOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + uint8_t level = static_cast(0); + uint16_t transitionTime = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace OnWithRecallGlobalScene -namespace OnWithTimedOff { +}; // namespace MoveToLevelWithOnOff +namespace MoveWithOnOff { enum class Fields { - kOnOffControl = 0, - kOnTime = 1, - kOffWaitTime = 2, + kMoveMode = 0, + kRate = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::OnWithTimedOff::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr CommandId GetCommandId() { return Commands::MoveWithOnOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - chip::BitMask onOffControl = static_cast>(0); - uint16_t onTime = static_cast(0); - uint16_t offWaitTime = static_cast(0); + MoveMode moveMode = static_cast(0); + uint8_t rate = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -2967,188 +2480,312 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::OnWithTimedOff::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr CommandId GetCommandId() { return Commands::MoveWithOnOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - chip::BitMask onOffControl = static_cast>(0); - uint16_t onTime = static_cast(0); - uint16_t offWaitTime = static_cast(0); + MoveMode moveMode = static_cast(0); + uint8_t rate = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace OnWithTimedOff -} // namespace Commands - -namespace Attributes { +}; // namespace MoveWithOnOff +namespace StepWithOnOff { +enum class Fields +{ + kStepMode = 0, + kStepSize = 1, + kTransitionTime = 2, +}; -namespace OnOff { -struct TypeInfo +struct Type { - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::StepWithOnOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OnOff::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + StepMode stepMode = static_cast(0); + uint8_t stepSize = static_cast(0); + uint16_t transitionTime = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace OnOff -namespace GlobalSceneControl { -struct TypeInfo + +struct DecodableType { - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; +public: + static constexpr CommandId GetCommandId() { return Commands::StepWithOnOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::GlobalSceneControl::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + StepMode stepMode = static_cast(0); + uint8_t stepSize = static_cast(0); + uint16_t transitionTime = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace GlobalSceneControl -namespace OnTime { -struct TypeInfo +}; // namespace StepWithOnOff +namespace StopWithOnOff { +enum class Fields { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OnTime::Id; } - static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace OnTime -namespace OffWaitTime { -struct TypeInfo + +struct Type { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::StopWithOnOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OffWaitTime::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace OffWaitTime -namespace StartUpOnOff { -struct TypeInfo + +struct DecodableType { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +public: + static constexpr CommandId GetCommandId() { return Commands::StopWithOnOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::StartUpOnOff::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace StartUpOnOff -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +}; // namespace StopWithOnOff +namespace MoveToClosestFrequency { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + kFrequency = 0, }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::MoveToClosestFrequency::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + + uint16_t frequency = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::MoveToClosestFrequency::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + + uint16_t frequency = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +}; // namespace MoveToClosestFrequency +} // namespace Commands + +namespace Attributes { + +namespace CurrentLevel { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentLevel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace CurrentLevel +namespace RemainingTime { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RemainingTime::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ClusterRevision +} // namespace RemainingTime +namespace MinLevel { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinLevel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MinLevel +namespace MaxLevel { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxLevel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MaxLevel +namespace CurrentFrequency { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - Attributes::OnOff::TypeInfo::DecodableType onOff = static_cast(0); - Attributes::GlobalSceneControl::TypeInfo::DecodableType globalSceneControl = static_cast(0); - Attributes::OnTime::TypeInfo::DecodableType onTime = static_cast(0); - Attributes::OffWaitTime::TypeInfo::DecodableType offWaitTime = static_cast(0); - Attributes::StartUpOnOff::TypeInfo::DecodableType startUpOnOff; - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentFrequency::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace OnOff -namespace OnOffSwitchConfiguration { +} // namespace CurrentFrequency +namespace MinFrequency { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; -namespace Attributes { + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinFrequency::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MinFrequency +namespace MaxFrequency { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; -namespace SwitchType { + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxFrequency::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MaxFrequency +namespace Options { struct TypeInfo { using Type = uint8_t; using DecodableType = uint8_t; using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SwitchType::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Options::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace SwitchType -namespace SwitchActions { +} // namespace Options +namespace OnOffTransitionTime { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SwitchActions::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OnOffTransitionTime::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace SwitchActions +} // namespace OnOffTransitionTime +namespace OnLevel { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OnLevel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace OnLevel +namespace OnTransitionTime { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OnTransitionTime::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace OnTransitionTime +namespace OffTransitionTime { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OffTransitionTime::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace OffTransitionTime +namespace DefaultMoveRate { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::DefaultMoveRate::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace DefaultMoveRate +namespace StartUpCurrentLevel { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::StartUpCurrentLevel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace StartUpCurrentLevel namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } }; } // namespace ClusterRevision @@ -3156,12 +2793,24 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::SwitchType::TypeInfo::DecodableType switchType = static_cast(0); - Attributes::SwitchActions::TypeInfo::DecodableType switchActions = static_cast(0); + Attributes::CurrentLevel::TypeInfo::DecodableType currentLevel = static_cast(0); + Attributes::RemainingTime::TypeInfo::DecodableType remainingTime = static_cast(0); + Attributes::MinLevel::TypeInfo::DecodableType minLevel = static_cast(0); + Attributes::MaxLevel::TypeInfo::DecodableType maxLevel = static_cast(0); + Attributes::CurrentFrequency::TypeInfo::DecodableType currentFrequency = static_cast(0); + Attributes::MinFrequency::TypeInfo::DecodableType minFrequency = static_cast(0); + Attributes::MaxFrequency::TypeInfo::DecodableType maxFrequency = static_cast(0); + Attributes::Options::TypeInfo::DecodableType options = static_cast(0); + Attributes::OnOffTransitionTime::TypeInfo::DecodableType onOffTransitionTime = static_cast(0); + Attributes::OnLevel::TypeInfo::DecodableType onLevel; + Attributes::OnTransitionTime::TypeInfo::DecodableType onTransitionTime; + Attributes::OffTransitionTime::TypeInfo::DecodableType offTransitionTime; + Attributes::DefaultMoveRate::TypeInfo::DecodableType defaultMoveRate; + Attributes::StartUpCurrentLevel::TypeInfo::DecodableType startUpCurrentLevel; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -3170,589 +2819,445 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace OnOffSwitchConfiguration -namespace LevelControl { +} // namespace LevelControl +namespace BinaryInputBasic { -namespace Commands { -// Forward-declarations so we can reference these later. +namespace Attributes { -namespace MoveToLevel { -struct Type; -struct DecodableType; -} // namespace MoveToLevel +namespace ActiveText { +struct TypeInfo +{ + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; -namespace Move { -struct Type; -struct DecodableType; -} // namespace Move - -namespace Step { -struct Type; -struct DecodableType; -} // namespace Step - -namespace Stop { -struct Type; -struct DecodableType; -} // namespace Stop - -namespace MoveToLevelWithOnOff { -struct Type; -struct DecodableType; -} // namespace MoveToLevelWithOnOff - -namespace MoveWithOnOff { -struct Type; -struct DecodableType; -} // namespace MoveWithOnOff - -namespace StepWithOnOff { -struct Type; -struct DecodableType; -} // namespace StepWithOnOff - -namespace StopWithOnOff { -struct Type; -struct DecodableType; -} // namespace StopWithOnOff - -namespace MoveToClosestFrequency { -struct Type; -struct DecodableType; -} // namespace MoveToClosestFrequency - -} // namespace Commands - -namespace Commands { -namespace MoveToLevel { -enum class Fields -{ - kLevel = 0, - kTransitionTime = 1, - kOptionMask = 2, - kOptionOverride = 3, + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ActiveText::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 16; } }; - -struct Type +} // namespace ActiveText +namespace Description { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::MoveToLevel::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - - uint8_t level = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionMask = static_cast(0); - uint8_t optionOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Description::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 16; } }; - -struct DecodableType +} // namespace Description +namespace InactiveText { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::MoveToLevel::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - uint8_t level = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionMask = static_cast(0); - uint8_t optionOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::InactiveText::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 16; } }; -}; // namespace MoveToLevel -namespace Move { -enum class Fields +} // namespace InactiveText +namespace OutOfService { +struct TypeInfo { - kMoveMode = 0, - kRate = 1, - kOptionMask = 2, - kOptionOverride = 3, -}; + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OutOfService::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace OutOfService +namespace Polarity { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::Move::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - - MoveMode moveMode = static_cast(0); - uint8_t rate = static_cast(0); - uint8_t optionMask = static_cast(0); - uint8_t optionOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Polarity::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace Polarity +namespace PresentValue { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::Move::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; - MoveMode moveMode = static_cast(0); - uint8_t rate = static_cast(0); - uint8_t optionMask = static_cast(0); - uint8_t optionOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PresentValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace Move -namespace Step { -enum class Fields +} // namespace PresentValue +namespace Reliability { +struct TypeInfo { - kStepMode = 0, - kStepSize = 1, - kTransitionTime = 2, - kOptionMask = 3, - kOptionOverride = 4, -}; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Reliability::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace Reliability +namespace StatusFlags { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::Step::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - - StepMode stepMode = static_cast(0); - uint8_t stepSize = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionMask = static_cast(0); - uint8_t optionOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::StatusFlags::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace StatusFlags +namespace ApplicationType { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::Step::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - StepMode stepMode = static_cast(0); - uint8_t stepSize = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionMask = static_cast(0); - uint8_t optionOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ApplicationType::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace Step -namespace Stop { -enum class Fields +} // namespace ApplicationType +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - kOptionMask = 0, - kOptionOverride = 1, + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } }; - -struct Type +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::Stop::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - - uint8_t optionMask = static_cast(0); - uint8_t optionOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } }; - -struct DecodableType +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::Stop::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - - uint8_t optionMask = static_cast(0); - uint8_t optionOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace Stop -namespace MoveToLevelWithOnOff { -enum class Fields -{ - kLevel = 0, - kTransitionTime = 1, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::MoveToLevelWithOnOff::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - - uint8_t level = static_cast(0); - uint16_t transitionTime = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } }; - -struct DecodableType +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::MoveToLevelWithOnOff::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - - uint8_t level = static_cast(0); - uint16_t transitionTime = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } }; -}; // namespace MoveToLevelWithOnOff -namespace MoveWithOnOff { -enum class Fields +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - kMoveMode = 0, - kRate = 1, + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } }; +} // namespace ClusterRevision -struct Type +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::MoveWithOnOff::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - - MoveMode moveMode = static_cast(0); - uint8_t rate = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } - using ResponseType = DataModel::NullObjectType; + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - static constexpr bool MustUseTimedInvoke() { return false; } + Attributes::ActiveText::TypeInfo::DecodableType activeText; + Attributes::Description::TypeInfo::DecodableType description; + Attributes::InactiveText::TypeInfo::DecodableType inactiveText; + Attributes::OutOfService::TypeInfo::DecodableType outOfService = static_cast(0); + Attributes::Polarity::TypeInfo::DecodableType polarity = static_cast(0); + Attributes::PresentValue::TypeInfo::DecodableType presentValue = static_cast(0); + Attributes::Reliability::TypeInfo::DecodableType reliability = static_cast(0); + Attributes::StatusFlags::TypeInfo::DecodableType statusFlags = static_cast(0); + Attributes::ApplicationType::TypeInfo::DecodableType applicationType = static_cast(0); + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; +} // namespace Attributes +} // namespace BinaryInputBasic +namespace PulseWidthModulation { -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::MoveWithOnOff::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } +namespace Attributes { - MoveMode moveMode = static_cast(0); - uint8_t rate = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace MoveWithOnOff -namespace StepWithOnOff { -enum class Fields +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - kStepMode = 0, - kStepSize = 1, - kTransitionTime = 2, + static constexpr ClusterId GetClusterId() { return Clusters::PulseWidthModulation::Id; } }; - -struct Type +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::StepWithOnOff::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - - StepMode stepMode = static_cast(0); - uint8_t stepSize = static_cast(0); - uint16_t transitionTime = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::PulseWidthModulation::Id; } }; - -struct DecodableType +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::StepWithOnOff::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - - StepMode stepMode = static_cast(0); - uint8_t stepSize = static_cast(0); - uint16_t transitionTime = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::PulseWidthModulation::Id; } }; -}; // namespace StepWithOnOff -namespace StopWithOnOff { -enum class Fields +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { + static constexpr ClusterId GetClusterId() { return Clusters::PulseWidthModulation::Id; } }; - -struct Type +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::StopWithOnOff::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::PulseWidthModulation::Id; } }; +} // namespace ClusterRevision -struct DecodableType +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::StopWithOnOff::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::PulseWidthModulation::Id; } - CHIP_ERROR Decode(TLV::TLVReader & reader); + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; -}; // namespace StopWithOnOff -namespace MoveToClosestFrequency { +} // namespace Attributes +} // namespace PulseWidthModulation +namespace Descriptor { +namespace Structs { +namespace DeviceType { enum class Fields { - kFrequency = 0, + kType = 0, + kRevision = 1, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::MoveToClosestFrequency::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - - uint16_t frequency = static_cast(0); + chip::DeviceTypeId type = static_cast(0); + uint16_t revision = static_cast(0); - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + CHIP_ERROR Decode(TLV::TLVReader & reader); - using ResponseType = DataModel::NullObjectType; + static constexpr bool kIsFabricScoped = false; - static constexpr bool MustUseTimedInvoke() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::MoveToClosestFrequency::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } +using DecodableType = Type; - uint16_t frequency = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace MoveToClosestFrequency -} // namespace Commands +} // namespace DeviceType +} // namespace Structs namespace Attributes { -namespace CurrentLevel { +namespace DeviceList { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = + const chip::app::DataModel::DecodableList &; - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentLevel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::DeviceList::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentLevel -namespace RemainingTime { +} // namespace DeviceList +namespace ServerList { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList &; - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RemainingTime::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ServerList::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace RemainingTime -namespace MinLevel { +} // namespace ServerList +namespace ClientList { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinLevel::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MinLevel -namespace MaxLevel { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList &; - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxLevel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClientList::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxLevel -namespace CurrentFrequency { +} // namespace ClientList +namespace PartsList { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList &; - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentFrequency::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PartsList::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentFrequency -namespace MinFrequency { -struct TypeInfo +} // namespace PartsList +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinFrequency::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } }; -} // namespace MinFrequency -namespace MaxFrequency { -struct TypeInfo +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxFrequency::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } }; -} // namespace MaxFrequency -namespace Options { -struct TypeInfo +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Options::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } }; -} // namespace Options -namespace OnOffTransitionTime { -struct TypeInfo +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OnOffTransitionTime::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } }; -} // namespace OnOffTransitionTime -namespace OnLevel { -struct TypeInfo +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OnLevel::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } }; -} // namespace OnLevel -namespace OnTransitionTime { +} // namespace ClusterRevision + struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OnTransitionTime::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::DeviceList::TypeInfo::DecodableType deviceList; + Attributes::ServerList::TypeInfo::DecodableType serverList; + Attributes::ClientList::TypeInfo::DecodableType clientList; + Attributes::PartsList::TypeInfo::DecodableType partsList; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; -} // namespace OnTransitionTime -namespace OffTransitionTime { -struct TypeInfo +} // namespace Attributes +} // namespace Descriptor +namespace Binding { +namespace Structs { +namespace TargetStruct { +enum class Fields { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OffTransitionTime::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kNode = 1, + kGroup = 2, + kEndpoint = 3, + kCluster = 4, + kFabricIndex = 254, }; -} // namespace OffTransitionTime -namespace DefaultMoveRate { -struct TypeInfo + +struct Type { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +public: + Optional node; + Optional group; + Optional endpoint; + Optional cluster; + chip::FabricIndex fabricIndex = static_cast(0); - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DefaultMoveRate::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = true; + + auto GetFabricIndex() const { return fabricIndex; } + + void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } + + CHIP_ERROR EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const; + CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const; + +private: + CHIP_ERROR DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const; }; -} // namespace DefaultMoveRate -namespace StartUpCurrentLevel { + +using DecodableType = Type; + +} // namespace TargetStruct +} // namespace Structs + +namespace Attributes { + +namespace Binding { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = + const chip::app::DataModel::DecodableList &; - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::StartUpCurrentLevel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Binding::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Binding::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace StartUpCurrentLevel +} // namespace Binding namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Binding::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Binding::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Binding::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Binding::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Binding::Id; } }; } // namespace ClusterRevision @@ -3760,24 +3265,11 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Binding::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::CurrentLevel::TypeInfo::DecodableType currentLevel = static_cast(0); - Attributes::RemainingTime::TypeInfo::DecodableType remainingTime = static_cast(0); - Attributes::MinLevel::TypeInfo::DecodableType minLevel = static_cast(0); - Attributes::MaxLevel::TypeInfo::DecodableType maxLevel = static_cast(0); - Attributes::CurrentFrequency::TypeInfo::DecodableType currentFrequency = static_cast(0); - Attributes::MinFrequency::TypeInfo::DecodableType minFrequency = static_cast(0); - Attributes::MaxFrequency::TypeInfo::DecodableType maxFrequency = static_cast(0); - Attributes::Options::TypeInfo::DecodableType options = static_cast(0); - Attributes::OnOffTransitionTime::TypeInfo::DecodableType onOffTransitionTime = static_cast(0); - Attributes::OnLevel::TypeInfo::DecodableType onLevel; - Attributes::OnTransitionTime::TypeInfo::DecodableType onTransitionTime; - Attributes::OffTransitionTime::TypeInfo::DecodableType offTransitionTime; - Attributes::DefaultMoveRate::TypeInfo::DecodableType defaultMoveRate; - Attributes::StartUpCurrentLevel::TypeInfo::DecodableType startUpCurrentLevel; + Attributes::Binding::TypeInfo::DecodableType binding; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -3786,284 +3278,212 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace LevelControl -namespace Alarms { - -namespace Commands { -// Forward-declarations so we can reference these later. +} // namespace Binding +namespace AccessControl { +namespace Structs { +namespace Target { +enum class Fields +{ + kCluster = 0, + kEndpoint = 1, + kDeviceType = 2, +}; -namespace ResetAlarm { -struct Type; -struct DecodableType; -} // namespace ResetAlarm +struct Type +{ +public: + DataModel::Nullable cluster; + DataModel::Nullable endpoint; + DataModel::Nullable deviceType; -namespace Alarm { -struct Type; -struct DecodableType; -} // namespace Alarm + CHIP_ERROR Decode(TLV::TLVReader & reader); -namespace ResetAllAlarms { -struct Type; -struct DecodableType; -} // namespace ResetAllAlarms - -namespace GetAlarmResponse { -struct Type; -struct DecodableType; -} // namespace GetAlarmResponse - -namespace GetAlarm { -struct Type; -struct DecodableType; -} // namespace GetAlarm - -namespace ResetAlarmLog { -struct Type; -struct DecodableType; -} // namespace ResetAlarmLog - -} // namespace Commands - -namespace Commands { -namespace ResetAlarm { -enum class Fields -{ - kAlarmCode = 0, - kClusterId = 1, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ResetAlarm::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } - - uint8_t alarmCode = static_cast(0); - chip::ClusterId clusterId = static_cast(0); + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } }; -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::ResetAlarm::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } +using DecodableType = Type; - uint8_t alarmCode = static_cast(0); - chip::ClusterId clusterId = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace ResetAlarm -namespace Alarm { +} // namespace Target +namespace AccessControlEntry { enum class Fields { - kAlarmCode = 0, - kClusterId = 1, + kPrivilege = 1, + kAuthMode = 2, + kSubjects = 3, + kTargets = 4, + kFabricIndex = 254, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::Alarm::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } + Privilege privilege = static_cast(0); + AuthMode authMode = static_cast(0); + DataModel::Nullable> subjects; + DataModel::Nullable> targets; + chip::FabricIndex fabricIndex = static_cast(0); - uint8_t alarmCode = static_cast(0); - chip::ClusterId clusterId = static_cast(0); + static constexpr bool kIsFabricScoped = true; - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + auto GetFabricIndex() const { return fabricIndex; } - using ResponseType = DataModel::NullObjectType; + void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } - static constexpr bool MustUseTimedInvoke() { return false; } + CHIP_ERROR EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const; + CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const; + +private: + CHIP_ERROR DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const; }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::Alarm::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } + Privilege privilege = static_cast(0); + AuthMode authMode = static_cast(0); + DataModel::Nullable> subjects; + DataModel::Nullable> targets; + chip::FabricIndex fabricIndex = static_cast(0); - uint8_t alarmCode = static_cast(0); - chip::ClusterId clusterId = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace Alarm -namespace ResetAllAlarms { -enum class Fields -{ -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ResetAllAlarms::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr bool kIsFabricScoped = true; - using ResponseType = DataModel::NullObjectType; + auto GetFabricIndex() const { return fabricIndex; } - static constexpr bool MustUseTimedInvoke() { return false; } + void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } }; -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::ResetAllAlarms::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace ResetAllAlarms -namespace GetAlarmResponse { +} // namespace AccessControlEntry +namespace ExtensionEntry { enum class Fields { - kStatus = 0, - kAlarmCode = 1, - kClusterId = 2, - kTimeStamp = 3, + kData = 1, + kFabricIndex = 254, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetAlarmResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } + chip::ByteSpan data; + chip::FabricIndex fabricIndex = static_cast(0); - uint8_t status = static_cast(0); - uint8_t alarmCode = static_cast(0); - chip::ClusterId clusterId = static_cast(0); - uint32_t timeStamp = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr bool kIsFabricScoped = true; - using ResponseType = DataModel::NullObjectType; + auto GetFabricIndex() const { return fabricIndex; } - static constexpr bool MustUseTimedInvoke() { return false; } -}; + void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GetAlarmResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } + CHIP_ERROR EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const; + CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const; - uint8_t status = static_cast(0); - uint8_t alarmCode = static_cast(0); - chip::ClusterId clusterId = static_cast(0); - uint32_t timeStamp = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GetAlarmResponse -namespace GetAlarm { -enum class Fields -{ +private: + CHIP_ERROR DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const; }; -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetAlarm::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +using DecodableType = Type; - using ResponseType = Clusters::Alarms::Commands::GetAlarmResponse::DecodableType; +} // namespace ExtensionEntry +} // namespace Structs - static constexpr bool MustUseTimedInvoke() { return false; } -}; +namespace Attributes { -struct DecodableType +namespace Acl { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::GetAlarm::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } + using Type = chip::app::DataModel::List; + using DecodableType = + chip::app::DataModel::DecodableList; + using DecodableArgType = + const chip::app::DataModel::DecodableList &; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Acl::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace GetAlarm -namespace ResetAlarmLog { -enum class Fields +} // namespace Acl +namespace Extension { +struct TypeInfo { -}; + using Type = chip::app::DataModel::List; + using DecodableType = + chip::app::DataModel::DecodableList; + using DecodableArgType = + const chip::app::DataModel::DecodableList &; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Extension::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace Extension +namespace SubjectsPerAccessControlEntry { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ResetAlarmLog::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SubjectsPerAccessControlEntry::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace SubjectsPerAccessControlEntry +namespace TargetsPerAccessControlEntry { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::ResetAlarmLog::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TargetsPerAccessControlEntry::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace ResetAlarmLog -} // namespace Commands - -namespace Attributes { - -namespace AlarmCount { +} // namespace TargetsPerAccessControlEntry +namespace AccessControlEntriesPerFabric { struct TypeInfo { using Type = uint16_t; using DecodableType = uint16_t; using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::AlarmCount::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::AccessControlEntriesPerFabric::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AlarmCount +} // namespace AccessControlEntriesPerFabric namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } }; } // namespace ClusterRevision @@ -4071,11 +3491,15 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::AlarmCount::TypeInfo::DecodableType alarmCount = static_cast(0); + Attributes::Acl::TypeInfo::DecodableType acl; + Attributes::Extension::TypeInfo::DecodableType extension; + Attributes::SubjectsPerAccessControlEntry::TypeInfo::DecodableType subjectsPerAccessControlEntry = static_cast(0); + Attributes::TargetsPerAccessControlEntry::TypeInfo::DecodableType targetsPerAccessControlEntry = static_cast(0); + Attributes::AccessControlEntriesPerFabric::TypeInfo::DecodableType accessControlEntriesPerFabric = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -4084,575 +3508,260 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace Alarms -namespace Time { - -namespace Attributes { +namespace Events { +namespace AccessControlEntryChanged { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; -namespace Time { -struct TypeInfo +enum class Fields { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Time::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kAdminNodeID = 1, + kAdminPasscodeID = 2, + kChangeType = 3, + kLatestValue = 4, + kAdminFabricIndex = 254, }; -} // namespace Time -namespace TimeStatus { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TimeStatus::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace TimeStatus -namespace TimeZone { -struct TypeInfo +struct Type { - using Type = int32_t; - using DecodableType = int32_t; - using DecodableArgType = int32_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::AccessControlEntryChanged::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } + static constexpr bool kIsFabricScoped = true; - static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TimeZone::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + DataModel::Nullable adminNodeID; + DataModel::Nullable adminPasscodeID; + ChangeTypeEnum changeType = static_cast(0); + DataModel::Nullable latestValue; + chip::FabricIndex adminFabricIndex = static_cast(0); + + auto GetFabricIndex() const { return adminFabricIndex; } + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace TimeZone -namespace DstStart { -struct TypeInfo + +struct DecodableType { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::AccessControlEntryChanged::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DstStart::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace DstStart -namespace DstEnd { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; + DataModel::Nullable adminNodeID; + DataModel::Nullable adminPasscodeID; + ChangeTypeEnum changeType = static_cast(0); + DataModel::Nullable latestValue; + chip::FabricIndex adminFabricIndex = static_cast(0); - static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DstEnd::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace DstEnd -namespace DstShift { -struct TypeInfo -{ - using Type = int32_t; - using DecodableType = int32_t; - using DecodableArgType = int32_t; +} // namespace AccessControlEntryChanged +namespace AccessControlExtensionChanged { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DstShift::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace DstShift -namespace StandardTime { -struct TypeInfo +enum class Fields { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::StandardTime::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kAdminNodeID = 1, + kAdminPasscodeID = 2, + kChangeType = 3, + kLatestValue = 4, + kAdminFabricIndex = 254, }; -} // namespace StandardTime -namespace LocalTime { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LocalTime::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace LocalTime -namespace LastSetTime { -struct TypeInfo +struct Type { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::AccessControlExtensionChanged::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } + static constexpr bool kIsFabricScoped = true; - static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LastSetTime::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace LastSetTime -namespace ValidUntilTime { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; + DataModel::Nullable adminNodeID; + DataModel::Nullable adminPasscodeID; + ChangeTypeEnum changeType = static_cast(0); + DataModel::Nullable latestValue; + chip::FabricIndex adminFabricIndex = static_cast(0); - static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ValidUntilTime::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ValidUntilTime -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } + auto GetFabricIndex() const { return adminFabricIndex; } + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::AccessControlExtensionChanged::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } + + DataModel::Nullable adminNodeID; + DataModel::Nullable adminPasscodeID; + ChangeTypeEnum changeType = static_cast(0); + DataModel::Nullable latestValue; + chip::FabricIndex adminFabricIndex = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace AccessControlExtensionChanged +} // namespace Events +} // namespace AccessControl +namespace BridgedActions { +namespace Structs { +namespace ActionStruct { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } + kActionID = 0, + kName = 1, + kType = 2, + kEndpointListID = 3, + kSupportedCommands = 4, + kStatus = 5, }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } +public: + uint16_t actionID = static_cast(0); + chip::CharSpan name; + ActionTypeEnum type = static_cast(0); + uint16_t endpointListID = static_cast(0); + uint16_t supportedCommands = static_cast(0); + ActionStateEnum status = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + CHIP_ERROR Decode(TLV::TLVReader & reader); - Attributes::Time::TypeInfo::DecodableType time = static_cast(0); - Attributes::TimeStatus::TypeInfo::DecodableType timeStatus = static_cast(0); - Attributes::TimeZone::TypeInfo::DecodableType timeZone = static_cast(0); - Attributes::DstStart::TypeInfo::DecodableType dstStart = static_cast(0); - Attributes::DstEnd::TypeInfo::DecodableType dstEnd = static_cast(0); - Attributes::DstShift::TypeInfo::DecodableType dstShift = static_cast(0); - Attributes::StandardTime::TypeInfo::DecodableType standardTime = static_cast(0); - Attributes::LocalTime::TypeInfo::DecodableType localTime = static_cast(0); - Attributes::LastSetTime::TypeInfo::DecodableType lastSetTime = static_cast(0); - Attributes::ValidUntilTime::TypeInfo::DecodableType validUntilTime = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace Attributes -} // namespace Time -namespace BinaryInputBasic { -namespace Attributes { +using DecodableType = Type; -namespace ActiveText { -struct TypeInfo +} // namespace ActionStruct +namespace EndpointListStruct { +enum class Fields { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ActiveText::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } + kEndpointListID = 0, + kName = 1, + kType = 2, + kEndpoints = 3, }; -} // namespace ActiveText -namespace Description { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Description::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } -}; -} // namespace Description -namespace InactiveText { -struct TypeInfo +struct Type { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; +public: + uint16_t endpointListID = static_cast(0); + chip::CharSpan name; + EndpointListTypeEnum type = static_cast(0); + DataModel::List endpoints; - static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::InactiveText::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } -}; -} // namespace InactiveText -namespace OutOfService { -struct TypeInfo -{ - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OutOfService::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace OutOfService -namespace Polarity { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Polarity::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Polarity -namespace PresentValue { -struct TypeInfo +struct DecodableType { - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; +public: + uint16_t endpointListID = static_cast(0); + chip::CharSpan name; + EndpointListTypeEnum type = static_cast(0); + DataModel::DecodableList endpoints; - static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PresentValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace PresentValue -namespace Reliability { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + CHIP_ERROR Decode(TLV::TLVReader & reader); - static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Reliability::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr bool kIsFabricScoped = false; }; -} // namespace Reliability -namespace StatusFlags { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::StatusFlags::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace StatusFlags -namespace ApplicationType { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ApplicationType::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ApplicationType -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } -}; -} // namespace ClusterRevision - -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - - Attributes::ActiveText::TypeInfo::DecodableType activeText; - Attributes::Description::TypeInfo::DecodableType description; - Attributes::InactiveText::TypeInfo::DecodableType inactiveText; - Attributes::OutOfService::TypeInfo::DecodableType outOfService = static_cast(0); - Attributes::Polarity::TypeInfo::DecodableType polarity = static_cast(0); - Attributes::PresentValue::TypeInfo::DecodableType presentValue = static_cast(0); - Attributes::Reliability::TypeInfo::DecodableType reliability = static_cast(0); - Attributes::StatusFlags::TypeInfo::DecodableType statusFlags = static_cast(0); - Attributes::ApplicationType::TypeInfo::DecodableType applicationType = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace BinaryInputBasic -namespace PowerProfile { -namespace Structs { -namespace PowerProfileRecord { -enum class Fields -{ - kPowerProfileId = 0, - kEnergyPhaseId = 1, - kPowerProfileRemoteControl = 2, - kPowerProfileState = 3, -}; - -struct Type -{ -public: - uint8_t powerProfileId = static_cast(0); - uint8_t energyPhaseId = static_cast(0); - bool powerProfileRemoteControl = static_cast(0); - uint8_t powerProfileState = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -using DecodableType = Type; - -} // namespace PowerProfileRecord -namespace ScheduledPhase { -enum class Fields -{ - kEnergyPhaseId = 0, - kScheduledTime = 1, -}; - -struct Type -{ -public: - uint8_t energyPhaseId = static_cast(0); - uint16_t scheduledTime = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -using DecodableType = Type; - -} // namespace ScheduledPhase -namespace TransferredPhase { -enum class Fields -{ - kEnergyPhaseId = 0, - kMacroPhaseId = 1, - kExpectedDuration = 2, - kPeakPower = 3, - kEnergy = 4, - kMaxActivationDelay = 5, -}; - -struct Type -{ -public: - uint8_t energyPhaseId = static_cast(0); - uint8_t macroPhaseId = static_cast(0); - uint16_t expectedDuration = static_cast(0); - uint16_t peakPower = static_cast(0); - uint16_t energy = static_cast(0); - uint16_t maxActivationDelay = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -using DecodableType = Type; - -} // namespace TransferredPhase +} // namespace EndpointListStruct } // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. -namespace PowerProfileRequest { -struct Type; -struct DecodableType; -} // namespace PowerProfileRequest - -namespace PowerProfileNotification { -struct Type; -struct DecodableType; -} // namespace PowerProfileNotification - -namespace PowerProfileStateRequest { -struct Type; -struct DecodableType; -} // namespace PowerProfileStateRequest - -namespace PowerProfileResponse { -struct Type; -struct DecodableType; -} // namespace PowerProfileResponse - -namespace GetPowerProfilePriceResponse { -struct Type; -struct DecodableType; -} // namespace GetPowerProfilePriceResponse - -namespace PowerProfileStateResponse { -struct Type; -struct DecodableType; -} // namespace PowerProfileStateResponse - -namespace GetOverallSchedulePriceResponse { -struct Type; -struct DecodableType; -} // namespace GetOverallSchedulePriceResponse - -namespace GetPowerProfilePrice { -struct Type; -struct DecodableType; -} // namespace GetPowerProfilePrice - -namespace EnergyPhasesScheduleNotification { -struct Type; -struct DecodableType; -} // namespace EnergyPhasesScheduleNotification - -namespace PowerProfilesStateNotification { +namespace InstantAction { struct Type; struct DecodableType; -} // namespace PowerProfilesStateNotification +} // namespace InstantAction -namespace EnergyPhasesScheduleResponse { +namespace InstantActionWithTransition { struct Type; struct DecodableType; -} // namespace EnergyPhasesScheduleResponse +} // namespace InstantActionWithTransition -namespace GetOverallSchedulePrice { +namespace StartAction { struct Type; struct DecodableType; -} // namespace GetOverallSchedulePrice +} // namespace StartAction -namespace PowerProfileScheduleConstraintsRequest { +namespace StartActionWithDuration { struct Type; struct DecodableType; -} // namespace PowerProfileScheduleConstraintsRequest +} // namespace StartActionWithDuration -namespace EnergyPhasesScheduleRequest { +namespace StopAction { struct Type; struct DecodableType; -} // namespace EnergyPhasesScheduleRequest +} // namespace StopAction -namespace EnergyPhasesScheduleStateRequest { +namespace PauseAction { struct Type; struct DecodableType; -} // namespace EnergyPhasesScheduleStateRequest +} // namespace PauseAction -namespace EnergyPhasesScheduleStateResponse { +namespace PauseActionWithDuration { struct Type; struct DecodableType; -} // namespace EnergyPhasesScheduleStateResponse +} // namespace PauseActionWithDuration -namespace GetPowerProfilePriceExtendedResponse { +namespace ResumeAction { struct Type; struct DecodableType; -} // namespace GetPowerProfilePriceExtendedResponse +} // namespace ResumeAction -namespace EnergyPhasesScheduleStateNotification { +namespace EnableAction { struct Type; struct DecodableType; -} // namespace EnergyPhasesScheduleStateNotification +} // namespace EnableAction -namespace PowerProfileScheduleConstraintsNotification { +namespace EnableActionWithDuration { struct Type; struct DecodableType; -} // namespace PowerProfileScheduleConstraintsNotification +} // namespace EnableActionWithDuration -namespace PowerProfileScheduleConstraintsResponse { +namespace DisableAction { struct Type; struct DecodableType; -} // namespace PowerProfileScheduleConstraintsResponse +} // namespace DisableAction -namespace GetPowerProfilePriceExtended { +namespace DisableActionWithDuration { struct Type; struct DecodableType; -} // namespace GetPowerProfilePriceExtended +} // namespace DisableActionWithDuration } // namespace Commands namespace Commands { -namespace PowerProfileRequest { +namespace InstantAction { enum class Fields { - kPowerProfileId = 0, + kActionID = 0, + kInvokeID = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::PowerProfileRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::InstantAction::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t powerProfileId = static_cast(0); + uint16_t actionID = static_cast(0); + Optional invokeID; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::PowerProfile::Commands::PowerProfileResponse::DecodableType; + using ResponseType = DataModel::NullObjectType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -4660,33 +3769,32 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::PowerProfileRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::InstantAction::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t powerProfileId = static_cast(0); + uint16_t actionID = static_cast(0); + Optional invokeID; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace PowerProfileRequest -namespace PowerProfileNotification { +}; // namespace InstantAction +namespace InstantActionWithTransition { enum class Fields { - kTotalProfileNum = 0, - kPowerProfileId = 1, - kNumOfTransferredPhases = 2, - kTransferredPhases = 3, + kActionID = 0, + kInvokeID = 1, + kTransitionTime = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::PowerProfileNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::InstantActionWithTransition::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t totalProfileNum = static_cast(0); - uint8_t powerProfileId = static_cast(0); - uint8_t numOfTransferredPhases = static_cast(0); - DataModel::List transferredPhases; + uint16_t actionID = static_cast(0); + Optional invokeID; + uint16_t transitionTime = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -4698,31 +3806,35 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::PowerProfileNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::InstantActionWithTransition::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t totalProfileNum = static_cast(0); - uint8_t powerProfileId = static_cast(0); - uint8_t numOfTransferredPhases = static_cast(0); - DataModel::DecodableList transferredPhases; + uint16_t actionID = static_cast(0); + Optional invokeID; + uint16_t transitionTime = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace PowerProfileNotification -namespace PowerProfileStateRequest { +}; // namespace InstantActionWithTransition +namespace StartAction { enum class Fields { + kActionID = 0, + kInvokeID = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::PowerProfileStateRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::StartAction::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + + uint16_t actionID = static_cast(0); + Optional invokeID; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::PowerProfile::Commands::PowerProfileStateResponse::DecodableType; + using ResponseType = DataModel::NullObjectType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -4730,32 +3842,32 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::PowerProfileStateRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::StartAction::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + uint16_t actionID = static_cast(0); + Optional invokeID; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace PowerProfileStateRequest -namespace PowerProfileResponse { +}; // namespace StartAction +namespace StartActionWithDuration { enum class Fields { - kTotalProfileNum = 0, - kPowerProfileId = 1, - kNumOfTransferredPhases = 2, - kTransferredPhases = 3, + kActionID = 0, + kInvokeID = 1, + kDuration = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::PowerProfileResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::StartActionWithDuration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t totalProfileNum = static_cast(0); - uint8_t powerProfileId = static_cast(0); - uint8_t numOfTransferredPhases = static_cast(0); - DataModel::List transferredPhases; + uint16_t actionID = static_cast(0); + Optional invokeID; + uint32_t duration = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -4767,36 +3879,31 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::PowerProfileResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::StartActionWithDuration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t totalProfileNum = static_cast(0); - uint8_t powerProfileId = static_cast(0); - uint8_t numOfTransferredPhases = static_cast(0); - DataModel::DecodableList transferredPhases; + uint16_t actionID = static_cast(0); + Optional invokeID; + uint32_t duration = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace PowerProfileResponse -namespace GetPowerProfilePriceResponse { +}; // namespace StartActionWithDuration +namespace StopAction { enum class Fields { - kPowerProfileId = 0, - kCurrency = 1, - kPrice = 2, - kPriceTrailingDigit = 3, + kActionID = 0, + kInvokeID = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetPowerProfilePriceResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::StopAction::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t powerProfileId = static_cast(0); - uint16_t currency = static_cast(0); - uint32_t price = static_cast(0); - uint8_t priceTrailingDigit = static_cast(0); + uint16_t actionID = static_cast(0); + Optional invokeID; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -4808,32 +3915,30 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::GetPowerProfilePriceResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::StopAction::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t powerProfileId = static_cast(0); - uint16_t currency = static_cast(0); - uint32_t price = static_cast(0); - uint8_t priceTrailingDigit = static_cast(0); + uint16_t actionID = static_cast(0); + Optional invokeID; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace GetPowerProfilePriceResponse -namespace PowerProfileStateResponse { +}; // namespace StopAction +namespace PauseAction { enum class Fields { - kPowerProfileCount = 0, - kPowerProfileRecords = 1, + kActionID = 0, + kInvokeID = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::PowerProfileStateResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::PauseAction::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t powerProfileCount = static_cast(0); - DataModel::List powerProfileRecords; + uint16_t actionID = static_cast(0); + Optional invokeID; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -4845,32 +3950,32 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::PowerProfileStateResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::PauseAction::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t powerProfileCount = static_cast(0); - DataModel::DecodableList powerProfileRecords; + uint16_t actionID = static_cast(0); + Optional invokeID; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace PowerProfileStateResponse -namespace GetOverallSchedulePriceResponse { -enum class Fields +}; // namespace PauseAction +namespace PauseActionWithDuration { +enum class Fields { - kCurrency = 0, - kPrice = 1, - kPriceTrailingDigit = 2, + kActionID = 0, + kInvokeID = 1, + kDuration = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetOverallSchedulePriceResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::PauseActionWithDuration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint16_t currency = static_cast(0); - uint32_t price = static_cast(0); - uint8_t priceTrailingDigit = static_cast(0); + uint16_t actionID = static_cast(0); + Optional invokeID; + uint32_t duration = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -4882,33 +3987,35 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::GetOverallSchedulePriceResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::PauseActionWithDuration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint16_t currency = static_cast(0); - uint32_t price = static_cast(0); - uint8_t priceTrailingDigit = static_cast(0); + uint16_t actionID = static_cast(0); + Optional invokeID; + uint32_t duration = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace GetOverallSchedulePriceResponse -namespace GetPowerProfilePrice { +}; // namespace PauseActionWithDuration +namespace ResumeAction { enum class Fields { - kPowerProfileId = 0, + kActionID = 0, + kInvokeID = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetPowerProfilePrice::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::ResumeAction::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t powerProfileId = static_cast(0); + uint16_t actionID = static_cast(0); + Optional invokeID; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::PowerProfile::Commands::GetPowerProfilePriceResponse::DecodableType; + using ResponseType = DataModel::NullObjectType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -4916,31 +4023,30 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::GetPowerProfilePrice::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::ResumeAction::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t powerProfileId = static_cast(0); + uint16_t actionID = static_cast(0); + Optional invokeID; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace GetPowerProfilePrice -namespace EnergyPhasesScheduleNotification { +}; // namespace ResumeAction +namespace EnableAction { enum class Fields { - kPowerProfileId = 0, - kNumOfScheduledPhases = 1, - kScheduledPhases = 2, + kActionID = 0, + kInvokeID = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::EnergyPhasesScheduleNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::EnableAction::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t powerProfileId = static_cast(0); - uint8_t numOfScheduledPhases = static_cast(0); - DataModel::List scheduledPhases; + uint16_t actionID = static_cast(0); + Optional invokeID; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -4952,31 +4058,32 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::EnergyPhasesScheduleNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::EnableAction::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t powerProfileId = static_cast(0); - uint8_t numOfScheduledPhases = static_cast(0); - DataModel::DecodableList scheduledPhases; + uint16_t actionID = static_cast(0); + Optional invokeID; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace EnergyPhasesScheduleNotification -namespace PowerProfilesStateNotification { +}; // namespace EnableAction +namespace EnableActionWithDuration { enum class Fields { - kPowerProfileCount = 0, - kPowerProfileRecords = 1, + kActionID = 0, + kInvokeID = 1, + kDuration = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::PowerProfilesStateNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::EnableActionWithDuration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t powerProfileCount = static_cast(0); - DataModel::List powerProfileRecords; + uint16_t actionID = static_cast(0); + Optional invokeID; + uint32_t duration = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -4988,32 +4095,31 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::PowerProfilesStateNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::EnableActionWithDuration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t powerProfileCount = static_cast(0); - DataModel::DecodableList powerProfileRecords; + uint16_t actionID = static_cast(0); + Optional invokeID; + uint32_t duration = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace PowerProfilesStateNotification -namespace EnergyPhasesScheduleResponse { +}; // namespace EnableActionWithDuration +namespace DisableAction { enum class Fields { - kPowerProfileId = 0, - kNumOfScheduledPhases = 1, - kScheduledPhases = 2, + kActionID = 0, + kInvokeID = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::EnergyPhasesScheduleResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::DisableAction::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t powerProfileId = static_cast(0); - uint8_t numOfScheduledPhases = static_cast(0); - DataModel::List scheduledPhases; + uint16_t actionID = static_cast(0); + Optional invokeID; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -5025,30 +4131,36 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::EnergyPhasesScheduleResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::DisableAction::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t powerProfileId = static_cast(0); - uint8_t numOfScheduledPhases = static_cast(0); - DataModel::DecodableList scheduledPhases; + uint16_t actionID = static_cast(0); + Optional invokeID; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace EnergyPhasesScheduleResponse -namespace GetOverallSchedulePrice { +}; // namespace DisableAction +namespace DisableActionWithDuration { enum class Fields { + kActionID = 0, + kInvokeID = 1, + kDuration = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetOverallSchedulePrice::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::DisableActionWithDuration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + + uint16_t actionID = static_cast(0); + Optional invokeID; + uint32_t duration = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::PowerProfile::Commands::GetOverallSchedulePriceResponse::DecodableType; + using ResponseType = DataModel::NullObjectType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -5056,243 +4168,243 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::GetOverallSchedulePrice::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::DisableActionWithDuration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + uint16_t actionID = static_cast(0); + Optional invokeID; + uint32_t duration = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace GetOverallSchedulePrice -namespace PowerProfileScheduleConstraintsRequest { -enum class Fields -{ - kPowerProfileId = 0, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::PowerProfileScheduleConstraintsRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } - - uint8_t powerProfileId = static_cast(0); +}; // namespace DisableActionWithDuration +} // namespace Commands - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +namespace Attributes { - using ResponseType = Clusters::PowerProfile::Commands::PowerProfileScheduleConstraintsResponse::DecodableType; +namespace ActionList { +struct TypeInfo +{ + using Type = chip::app::DataModel::List; + using DecodableType = + chip::app::DataModel::DecodableList; + using DecodableArgType = + const chip::app::DataModel::DecodableList &; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ActionList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; +} // namespace ActionList +namespace EndpointList { +struct TypeInfo +{ + using Type = chip::app::DataModel::List; + using DecodableType = + chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::BridgedActions::Structs::EndpointListStruct::DecodableType> &; -struct DecodableType + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::EndpointList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace EndpointList +namespace SetupUrl { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::PowerProfileScheduleConstraintsRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - uint8_t powerProfileId = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SetupUrl::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 512; } }; -}; // namespace PowerProfileScheduleConstraintsRequest -namespace EnergyPhasesScheduleRequest { -enum class Fields +} // namespace SetupUrl +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - kPowerProfileId = 0, + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } }; - -struct Type +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::EnergyPhasesScheduleRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } - - uint8_t powerProfileId = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::PowerProfile::Commands::EnergyPhasesScheduleResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } +}; +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } +}; +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } }; +} // namespace ClusterRevision -struct DecodableType +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::EnergyPhasesScheduleRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - uint8_t powerProfileId = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::ActionList::TypeInfo::DecodableType actionList; + Attributes::EndpointList::TypeInfo::DecodableType endpointList; + Attributes::SetupUrl::TypeInfo::DecodableType setupUrl; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; -}; // namespace EnergyPhasesScheduleRequest -namespace EnergyPhasesScheduleStateRequest { +} // namespace Attributes +namespace Events { +namespace StateChanged { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + enum class Fields { - kPowerProfileId = 0, + kActionID = 0, + kInvokeID = 1, + kNewState = 2, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::EnergyPhasesScheduleStateRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::StateChanged::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + static constexpr bool kIsFabricScoped = false; - uint8_t powerProfileId = static_cast(0); + uint16_t actionID = static_cast(0); + uint32_t invokeID = static_cast(0); + ActionStateEnum newState = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::PowerProfile::Commands::EnergyPhasesScheduleStateResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::EnergyPhasesScheduleStateRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::StateChanged::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + + uint16_t actionID = static_cast(0); + uint32_t invokeID = static_cast(0); + ActionStateEnum newState = static_cast(0); - uint8_t powerProfileId = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace EnergyPhasesScheduleStateRequest -namespace EnergyPhasesScheduleStateResponse { +} // namespace StateChanged +namespace ActionFailed { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + enum class Fields { - kPowerProfileId = 0, - kNumOfScheduledPhases = 1, - kScheduledPhases = 2, + kActionID = 0, + kInvokeID = 1, + kNewState = 2, + kError = 3, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::EnergyPhasesScheduleStateResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ActionFailed::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + static constexpr bool kIsFabricScoped = false; - uint8_t powerProfileId = static_cast(0); - uint8_t numOfScheduledPhases = static_cast(0); - DataModel::List scheduledPhases; + uint16_t actionID = static_cast(0); + uint32_t invokeID = static_cast(0); + ActionStateEnum newState = static_cast(0); + ActionErrorEnum error = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::EnergyPhasesScheduleStateResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ActionFailed::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + + uint16_t actionID = static_cast(0); + uint32_t invokeID = static_cast(0); + ActionStateEnum newState = static_cast(0); + ActionErrorEnum error = static_cast(0); - uint8_t powerProfileId = static_cast(0); - uint8_t numOfScheduledPhases = static_cast(0); - DataModel::DecodableList scheduledPhases; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace EnergyPhasesScheduleStateResponse -namespace GetPowerProfilePriceExtendedResponse { +} // namespace ActionFailed +} // namespace Events +} // namespace BridgedActions +namespace Basic { +namespace Structs { +namespace CapabilityMinimaStruct { enum class Fields { - kPowerProfileId = 0, - kCurrency = 1, - kPrice = 2, - kPriceTrailingDigit = 3, + kCaseSessionsPerFabric = 0, + kSubscriptionsPerFabric = 1, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetPowerProfilePriceExtendedResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } - - uint8_t powerProfileId = static_cast(0); - uint16_t currency = static_cast(0); - uint32_t price = static_cast(0); - uint8_t priceTrailingDigit = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + uint16_t caseSessionsPerFabric = static_cast(0); + uint16_t subscriptionsPerFabric = static_cast(0); - static constexpr bool MustUseTimedInvoke() { return false; } -}; + CHIP_ERROR Decode(TLV::TLVReader & reader); -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GetPowerProfilePriceExtendedResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr bool kIsFabricScoped = false; - uint8_t powerProfileId = static_cast(0); - uint16_t currency = static_cast(0); - uint32_t price = static_cast(0); - uint8_t priceTrailingDigit = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GetPowerProfilePriceExtendedResponse -namespace EnergyPhasesScheduleStateNotification { -enum class Fields -{ - kPowerProfileId = 0, - kNumOfScheduledPhases = 1, - kScheduledPhases = 2, + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::EnergyPhasesScheduleStateNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } - - uint8_t powerProfileId = static_cast(0); - uint8_t numOfScheduledPhases = static_cast(0); - DataModel::List scheduledPhases; +using DecodableType = Type; - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +} // namespace CapabilityMinimaStruct +} // namespace Structs - using ResponseType = DataModel::NullObjectType; +namespace Commands { +// Forward-declarations so we can reference these later. - static constexpr bool MustUseTimedInvoke() { return false; } -}; +namespace MfgSpecificPing { +struct Type; +struct DecodableType; +} // namespace MfgSpecificPing -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::EnergyPhasesScheduleStateNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } +} // namespace Commands - uint8_t powerProfileId = static_cast(0); - uint8_t numOfScheduledPhases = static_cast(0); - DataModel::DecodableList scheduledPhases; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace EnergyPhasesScheduleStateNotification -namespace PowerProfileScheduleConstraintsNotification { +namespace Commands { +namespace MfgSpecificPing { enum class Fields { - kPowerProfileId = 0, - kStartAfter = 1, - kStopBefore = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::PowerProfileScheduleConstraintsNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } - - uint8_t powerProfileId = static_cast(0); - uint16_t startAfter = static_cast(0); - uint16_t stopBefore = static_cast(0); + static constexpr CommandId GetCommandId() { return Commands::MfgSpecificPing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -5304,477 +4416,525 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::PowerProfileScheduleConstraintsNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr CommandId GetCommandId() { return Commands::MfgSpecificPing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - uint8_t powerProfileId = static_cast(0); - uint16_t startAfter = static_cast(0); - uint16_t stopBefore = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace PowerProfileScheduleConstraintsNotification -namespace PowerProfileScheduleConstraintsResponse { -enum class Fields -{ - kPowerProfileId = 0, - kStartAfter = 1, - kStopBefore = 2, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::PowerProfileScheduleConstraintsResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } - - uint8_t powerProfileId = static_cast(0); - uint16_t startAfter = static_cast(0); - uint16_t stopBefore = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; +}; // namespace MfgSpecificPing +} // namespace Commands - static constexpr bool MustUseTimedInvoke() { return false; } -}; +namespace Attributes { -struct DecodableType +namespace DataModelRevision { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::PowerProfileScheduleConstraintsResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - uint8_t powerProfileId = static_cast(0); - uint16_t startAfter = static_cast(0); - uint16_t stopBefore = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::DataModelRevision::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace PowerProfileScheduleConstraintsResponse -namespace GetPowerProfilePriceExtended { -enum class Fields +} // namespace DataModelRevision +namespace VendorName { +struct TypeInfo { - kOptions = 0, - kPowerProfileId = 1, - kPowerProfileStartTime = 2, -}; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::VendorName::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 32; } +}; +} // namespace VendorName +namespace VendorID { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetPowerProfilePriceExtended::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } - - uint8_t options = static_cast(0); - uint8_t powerProfileId = static_cast(0); - uint16_t powerProfileStartTime = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::PowerProfile::Commands::GetPowerProfilePriceExtendedResponse::DecodableType; + using Type = chip::VendorId; + using DecodableType = chip::VendorId; + using DecodableArgType = chip::VendorId; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::VendorID::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace VendorID +namespace ProductName { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::GetPowerProfilePriceExtended::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - uint8_t options = static_cast(0); - uint8_t powerProfileId = static_cast(0); - uint16_t powerProfileStartTime = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ProductName::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 32; } }; -}; // namespace GetPowerProfilePriceExtended -} // namespace Commands - -namespace Attributes { - -namespace TotalProfileNum { +} // namespace ProductName +namespace ProductID { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TotalProfileNum::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ProductID::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace TotalProfileNum -namespace MultipleScheduling { +} // namespace ProductID +namespace NodeLabel { struct TypeInfo { - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MultipleScheduling::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NodeLabel::Id; } static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 32; } }; -} // namespace MultipleScheduling -namespace EnergyFormatting { +} // namespace NodeLabel +namespace Location { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::EnergyFormatting::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Location::Id; } static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 2; } }; -} // namespace EnergyFormatting -namespace EnergyRemote { +} // namespace Location +namespace HardwareVersion { struct TypeInfo { - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::EnergyRemote::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::HardwareVersion::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace EnergyRemote -namespace ScheduleMode { +} // namespace HardwareVersion +namespace HardwareVersionString { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ScheduleMode::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::HardwareVersionString::Id; } static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 64; } }; -} // namespace ScheduleMode -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +} // namespace HardwareVersionString +namespace SoftwareVersion { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SoftwareVersion::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +} // namespace SoftwareVersion +namespace SoftwareVersionString { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; + + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SoftwareVersionString::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 64; } }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +} // namespace SoftwareVersionString +namespace ManufacturingDate { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; + + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ManufacturingDate::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 16; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace ManufacturingDate +namespace PartNumber { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; + + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PartNumber::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 32; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace PartNumber +namespace ProductURL { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } -}; -} // namespace ClusterRevision + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ProductURL::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 256; } +}; +} // namespace ProductURL +namespace ProductLabel { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - Attributes::TotalProfileNum::TypeInfo::DecodableType totalProfileNum = static_cast(0); - Attributes::MultipleScheduling::TypeInfo::DecodableType multipleScheduling = static_cast(0); - Attributes::EnergyFormatting::TypeInfo::DecodableType energyFormatting = static_cast(0); - Attributes::EnergyRemote::TypeInfo::DecodableType energyRemote = static_cast(0); - Attributes::ScheduleMode::TypeInfo::DecodableType scheduleMode = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ProductLabel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 64; } }; -} // namespace Attributes -} // namespace PowerProfile -namespace ApplianceControl { - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace ExecutionOfACommand { -struct Type; -struct DecodableType; -} // namespace ExecutionOfACommand - -namespace SignalStateResponse { -struct Type; -struct DecodableType; -} // namespace SignalStateResponse - -namespace SignalState { -struct Type; -struct DecodableType; -} // namespace SignalState - -namespace SignalStateNotification { -struct Type; -struct DecodableType; -} // namespace SignalStateNotification - -namespace WriteFunctions { -struct Type; -struct DecodableType; -} // namespace WriteFunctions +} // namespace ProductLabel +namespace SerialNumber { +struct TypeInfo +{ + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; -namespace OverloadPauseResume { -struct Type; -struct DecodableType; -} // namespace OverloadPauseResume + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SerialNumber::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 32; } +}; +} // namespace SerialNumber +namespace LocalConfigDisabled { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; -namespace OverloadPause { -struct Type; -struct DecodableType; -} // namespace OverloadPause + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LocalConfigDisabled::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace LocalConfigDisabled +namespace Reachable { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; -namespace OverloadWarning { -struct Type; -struct DecodableType; -} // namespace OverloadWarning + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Reachable::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace Reachable +namespace UniqueID { +struct TypeInfo +{ + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; -} // namespace Commands + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::UniqueID::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 32; } +}; +} // namespace UniqueID +namespace CapabilityMinima { +struct TypeInfo +{ + using Type = chip::app::Clusters::Basic::Structs::CapabilityMinimaStruct::Type; + using DecodableType = chip::app::Clusters::Basic::Structs::CapabilityMinimaStruct::DecodableType; + using DecodableArgType = const chip::app::Clusters::Basic::Structs::CapabilityMinimaStruct::DecodableType &; -namespace Commands { -namespace ExecutionOfACommand { -enum class Fields + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CapabilityMinima::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace CapabilityMinima +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - kCommandId = 0, + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } }; - -struct Type +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ExecutionOfACommand::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } - - CommandIdentification commandId = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } }; - -struct DecodableType +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::ExecutionOfACommand::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } - - CommandIdentification commandId = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } }; -}; // namespace ExecutionOfACommand -namespace SignalStateResponse { -enum class Fields +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - kApplianceStatus = 0, - kRemoteEnableFlagsAndDeviceStatus2 = 1, - kApplianceStatus2 = 2, + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } }; - -struct Type +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SignalStateResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } - - ApplianceStatus applianceStatus = static_cast(0); - chip::BitMask remoteEnableFlagsAndDeviceStatus2 = - static_cast>(0); - ApplianceStatus applianceStatus2 = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } }; +} // namespace ClusterRevision -struct DecodableType +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::SignalStateResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - ApplianceStatus applianceStatus = static_cast(0); - chip::BitMask remoteEnableFlagsAndDeviceStatus2 = - static_cast>(0); - ApplianceStatus applianceStatus2 = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::DataModelRevision::TypeInfo::DecodableType dataModelRevision = static_cast(0); + Attributes::VendorName::TypeInfo::DecodableType vendorName; + Attributes::VendorID::TypeInfo::DecodableType vendorID = static_cast(0); + Attributes::ProductName::TypeInfo::DecodableType productName; + Attributes::ProductID::TypeInfo::DecodableType productID = static_cast(0); + Attributes::NodeLabel::TypeInfo::DecodableType nodeLabel; + Attributes::Location::TypeInfo::DecodableType location; + Attributes::HardwareVersion::TypeInfo::DecodableType hardwareVersion = static_cast(0); + Attributes::HardwareVersionString::TypeInfo::DecodableType hardwareVersionString; + Attributes::SoftwareVersion::TypeInfo::DecodableType softwareVersion = static_cast(0); + Attributes::SoftwareVersionString::TypeInfo::DecodableType softwareVersionString; + Attributes::ManufacturingDate::TypeInfo::DecodableType manufacturingDate; + Attributes::PartNumber::TypeInfo::DecodableType partNumber; + Attributes::ProductURL::TypeInfo::DecodableType productURL; + Attributes::ProductLabel::TypeInfo::DecodableType productLabel; + Attributes::SerialNumber::TypeInfo::DecodableType serialNumber; + Attributes::LocalConfigDisabled::TypeInfo::DecodableType localConfigDisabled = static_cast(0); + Attributes::Reachable::TypeInfo::DecodableType reachable = static_cast(0); + Attributes::UniqueID::TypeInfo::DecodableType uniqueID; + Attributes::CapabilityMinima::TypeInfo::DecodableType capabilityMinima; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; -}; // namespace SignalStateResponse -namespace SignalState { +} // namespace Attributes +namespace Events { +namespace StartUp { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; + enum class Fields { + kSoftwareVersion = 0, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SignalState::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::StartUp::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr bool kIsFabricScoped = false; - using ResponseType = Clusters::ApplianceControl::Commands::SignalStateResponse::DecodableType; + uint32_t softwareVersion = static_cast(0); - static constexpr bool MustUseTimedInvoke() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::SignalState::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::StartUp::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + + uint32_t softwareVersion = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace SignalState -namespace SignalStateNotification { +} // namespace StartUp +namespace ShutDown { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; + enum class Fields { - kApplianceStatus = 0, - kRemoteEnableFlagsAndDeviceStatus2 = 1, - kApplianceStatus2 = 2, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SignalStateNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } - - ApplianceStatus applianceStatus = static_cast(0); - chip::BitMask remoteEnableFlagsAndDeviceStatus2 = - static_cast>(0); - ApplianceStatus applianceStatus2 = static_cast(0); + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ShutDown::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::SignalStateNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ShutDown::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - ApplianceStatus applianceStatus = static_cast(0); - chip::BitMask remoteEnableFlagsAndDeviceStatus2 = - static_cast>(0); - ApplianceStatus applianceStatus2 = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace SignalStateNotification -namespace WriteFunctions { +} // namespace ShutDown +namespace Leave { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + enum class Fields { - kFunctionId = 0, - kFunctionDataType = 1, - kFunctionData = 2, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::WriteFunctions::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } - - uint16_t functionId = static_cast(0); - uint8_t functionDataType = static_cast(0); - DataModel::List functionData; + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::Leave::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::WriteFunctions::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::Leave::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - uint16_t functionId = static_cast(0); - uint8_t functionDataType = static_cast(0); - DataModel::DecodableList functionData; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace WriteFunctions -namespace OverloadPauseResume { +} // namespace Leave +namespace ReachableChanged { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + enum class Fields { + kReachableNewValue = 0, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::OverloadPauseResume::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ReachableChanged::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr bool kIsFabricScoped = false; - using ResponseType = DataModel::NullObjectType; + bool reachableNewValue = static_cast(0); - static constexpr bool MustUseTimedInvoke() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::OverloadPauseResume::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ReachableChanged::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + + bool reachableNewValue = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace OverloadPauseResume -namespace OverloadPause { +} // namespace ReachableChanged +} // namespace Events +} // namespace Basic +namespace OtaSoftwareUpdateProvider { + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace QueryImage { +struct Type; +struct DecodableType; +} // namespace QueryImage + +namespace QueryImageResponse { +struct Type; +struct DecodableType; +} // namespace QueryImageResponse + +namespace ApplyUpdateRequest { +struct Type; +struct DecodableType; +} // namespace ApplyUpdateRequest + +namespace ApplyUpdateResponse { +struct Type; +struct DecodableType; +} // namespace ApplyUpdateResponse + +namespace NotifyUpdateApplied { +struct Type; +struct DecodableType; +} // namespace NotifyUpdateApplied + +} // namespace Commands + +namespace Commands { +namespace QueryImage { enum class Fields { + kVendorId = 0, + kProductId = 1, + kSoftwareVersion = 2, + kProtocolsSupported = 3, + kHardwareVersion = 4, + kLocation = 5, + kRequestorCanConsent = 6, + kMetadataForProvider = 7, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::OverloadPause::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } + static constexpr CommandId GetCommandId() { return Commands::QueryImage::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + + chip::VendorId vendorId = static_cast(0); + uint16_t productId = static_cast(0); + uint32_t softwareVersion = static_cast(0); + DataModel::List protocolsSupported; + Optional hardwareVersion; + Optional location; + Optional requestorCanConsent; + Optional metadataForProvider; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = DataModel::NullObjectType; + using ResponseType = Clusters::OtaSoftwareUpdateProvider::Commands::QueryImageResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -5782,26 +4942,48 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::OverloadPause::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } + static constexpr CommandId GetCommandId() { return Commands::QueryImage::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + chip::VendorId vendorId = static_cast(0); + uint16_t productId = static_cast(0); + uint32_t softwareVersion = static_cast(0); + DataModel::DecodableList protocolsSupported; + Optional hardwareVersion; + Optional location; + Optional requestorCanConsent; + Optional metadataForProvider; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace OverloadPause -namespace OverloadWarning { +}; // namespace QueryImage +namespace QueryImageResponse { enum class Fields { - kWarningEvent = 0, + kStatus = 0, + kDelayedActionTime = 1, + kImageURI = 2, + kSoftwareVersion = 3, + kSoftwareVersionString = 4, + kUpdateToken = 5, + kUserConsentNeeded = 6, + kMetadataForRequestor = 7, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::OverloadWarning::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } + static constexpr CommandId GetCommandId() { return Commands::QueryImageResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } - WarningEvent warningEvent = static_cast(0); + OTAQueryStatus status = static_cast(0); + Optional delayedActionTime; + Optional imageURI; + Optional softwareVersion; + Optional softwareVersionString; + Optional updateToken; + Optional userConsentNeeded; + Optional metadataForRequestor; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -5813,136 +4995,157 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::OverloadWarning::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } + static constexpr CommandId GetCommandId() { return Commands::QueryImageResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } - WarningEvent warningEvent = static_cast(0); + OTAQueryStatus status = static_cast(0); + Optional delayedActionTime; + Optional imageURI; + Optional softwareVersion; + Optional softwareVersionString; + Optional updateToken; + Optional userConsentNeeded; + Optional metadataForRequestor; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace OverloadWarning -} // namespace Commands - -namespace Attributes { - -namespace StartTime { -struct TypeInfo +}; // namespace QueryImageResponse +namespace ApplyUpdateRequest { +enum class Fields { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::StartTime::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kUpdateToken = 0, + kNewVersion = 1, }; -} // namespace StartTime -namespace FinishTime { -struct TypeInfo + +struct Type { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ApplyUpdateRequest::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::FinishTime::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + chip::ByteSpan updateToken; + uint32_t newVersion = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::OtaSoftwareUpdateProvider::Commands::ApplyUpdateResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace FinishTime -namespace RemainingTime { -struct TypeInfo + +struct DecodableType { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + static constexpr CommandId GetCommandId() { return Commands::ApplyUpdateRequest::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RemainingTime::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + chip::ByteSpan updateToken; + uint32_t newVersion = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace RemainingTime -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +}; // namespace ApplyUpdateRequest +namespace ApplyUpdateResponse { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } + kAction = 0, + kDelayedActionTime = 1, }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ApplyUpdateResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + + OTAApplyUpdateAction action = static_cast(0); + uint32_t delayedActionTime = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::ApplyUpdateResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + + OTAApplyUpdateAction action = static_cast(0); + uint32_t delayedActionTime = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +}; // namespace ApplyUpdateResponse +namespace NotifyUpdateApplied { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } + kUpdateToken = 0, + kSoftwareVersion = 1, }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::NotifyUpdateApplied::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + + chip::ByteSpan updateToken; + uint32_t softwareVersion = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace ClusterRevision -struct TypeInfo +struct DecodableType { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +public: + static constexpr CommandId GetCommandId() { return Commands::NotifyUpdateApplied::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } - Attributes::StartTime::TypeInfo::DecodableType startTime = static_cast(0); - Attributes::FinishTime::TypeInfo::DecodableType finishTime = static_cast(0); - Attributes::RemainingTime::TypeInfo::DecodableType remainingTime = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + chip::ByteSpan updateToken; + uint32_t softwareVersion = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Attributes -} // namespace ApplianceControl -namespace PulseWidthModulation { +}; // namespace NotifyUpdateApplied +} // namespace Commands namespace Attributes { namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PulseWidthModulation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PulseWidthModulation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PulseWidthModulation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PulseWidthModulation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PulseWidthModulation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } }; } // namespace ClusterRevision @@ -5950,7 +5153,7 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::PulseWidthModulation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); @@ -5962,113 +5165,181 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace PulseWidthModulation -namespace Descriptor { +} // namespace OtaSoftwareUpdateProvider +namespace OtaSoftwareUpdateRequestor { namespace Structs { -namespace DeviceType { +namespace ProviderLocation { enum class Fields { - kType = 0, - kRevision = 1, + kProviderNodeID = 1, + kEndpoint = 2, + kFabricIndex = 254, }; struct Type { public: - chip::DeviceTypeId type = static_cast(0); - uint16_t revision = static_cast(0); + chip::NodeId providerNodeID = static_cast(0); + chip::EndpointId endpoint = static_cast(0); + chip::FabricIndex fabricIndex = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); - static constexpr bool kIsFabricScoped = false; + static constexpr bool kIsFabricScoped = true; - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + auto GetFabricIndex() const { return fabricIndex; } + + void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } + + CHIP_ERROR EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const; + CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const; + +private: + CHIP_ERROR DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const; }; using DecodableType = Type; -} // namespace DeviceType +} // namespace ProviderLocation } // namespace Structs +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace AnnounceOtaProvider { +struct Type; +struct DecodableType; +} // namespace AnnounceOtaProvider + +} // namespace Commands + +namespace Commands { +namespace AnnounceOtaProvider { +enum class Fields +{ + kProviderNodeId = 0, + kVendorId = 1, + kAnnouncementReason = 2, + kMetadataForNode = 3, + kEndpoint = 4, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::AnnounceOtaProvider::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + + chip::NodeId providerNodeId = static_cast(0); + chip::VendorId vendorId = static_cast(0); + OTAAnnouncementReason announcementReason = static_cast(0); + Optional metadataForNode; + chip::EndpointId endpoint = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::AnnounceOtaProvider::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + + chip::NodeId providerNodeId = static_cast(0); + chip::VendorId vendorId = static_cast(0); + OTAAnnouncementReason announcementReason = static_cast(0); + Optional metadataForNode; + chip::EndpointId endpoint = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace AnnounceOtaProvider +} // namespace Commands + namespace Attributes { -namespace DeviceList { +namespace DefaultOtaProviders { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = - const chip::app::DataModel::DecodableList &; + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::OtaSoftwareUpdateRequestor::Structs::ProviderLocation::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::OtaSoftwareUpdateRequestor::Structs::ProviderLocation::DecodableType> &; - static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DeviceList::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::DefaultOtaProviders::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace DeviceList -namespace ServerList { +} // namespace DefaultOtaProviders +namespace UpdatePossible { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList &; + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; - static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ServerList::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::UpdatePossible::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ServerList -namespace ClientList { +} // namespace UpdatePossible +namespace UpdateState { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList &; + using Type = chip::app::Clusters::OtaSoftwareUpdateRequestor::OTAUpdateStateEnum; + using DecodableType = chip::app::Clusters::OtaSoftwareUpdateRequestor::OTAUpdateStateEnum; + using DecodableArgType = chip::app::Clusters::OtaSoftwareUpdateRequestor::OTAUpdateStateEnum; - static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ClientList::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::UpdateState::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ClientList -namespace PartsList { +} // namespace UpdateState +namespace UpdateStateProgress { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList &; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PartsList::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::UpdateStateProgress::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace PartsList +} // namespace UpdateStateProgress namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } }; } // namespace ClusterRevision @@ -6076,14 +5347,15 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::DeviceList::TypeInfo::DecodableType deviceList; - Attributes::ServerList::TypeInfo::DecodableType serverList; - Attributes::ClientList::TypeInfo::DecodableType clientList; - Attributes::PartsList::TypeInfo::DecodableType partsList; + Attributes::DefaultOtaProviders::TypeInfo::DecodableType defaultOtaProviders; + Attributes::UpdatePossible::TypeInfo::DecodableType updatePossible = static_cast(0); + Attributes::UpdateState::TypeInfo::DecodableType updateState = + static_cast(0); + Attributes::UpdateStateProgress::TypeInfo::DecodableType updateStateProgress; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -6092,317 +5364,186 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace Descriptor -namespace Binding { -namespace Structs { -namespace TargetStruct { +namespace Events { +namespace StateTransition { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + enum class Fields { - kNode = 1, - kGroup = 2, - kEndpoint = 3, - kCluster = 4, - kFabricIndex = 254, + kPreviousState = 0, + kNewState = 1, + kReason = 2, + kTargetSoftwareVersion = 3, }; struct Type { public: - Optional node; - Optional group; - Optional endpoint; - Optional cluster; - chip::FabricIndex fabricIndex = static_cast(0); + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::StateTransition::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr bool kIsFabricScoped = false; - CHIP_ERROR Decode(TLV::TLVReader & reader); + OTAUpdateStateEnum previousState = static_cast(0); + OTAUpdateStateEnum newState = static_cast(0); + OTAChangeReasonEnum reason = static_cast(0); + DataModel::Nullable targetSoftwareVersion; - static constexpr bool kIsFabricScoped = true; + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; - auto GetFabricIndex() const { return fabricIndex; } +struct DecodableType +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::StateTransition::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } - void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } + OTAUpdateStateEnum previousState = static_cast(0); + OTAUpdateStateEnum newState = static_cast(0); + OTAChangeReasonEnum reason = static_cast(0); + DataModel::Nullable targetSoftwareVersion; - CHIP_ERROR EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const; - CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +} // namespace StateTransition +namespace VersionApplied { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; -private: - CHIP_ERROR DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const; +enum class Fields +{ + kSoftwareVersion = 0, + kProductID = 1, }; -using DecodableType = Type; +struct Type +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::VersionApplied::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr bool kIsFabricScoped = false; -} // namespace TargetStruct -} // namespace Structs + uint32_t softwareVersion = static_cast(0); + uint16_t productID = static_cast(0); -namespace Attributes { + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; -namespace Binding { -struct TypeInfo +struct DecodableType { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = - const chip::app::DataModel::DecodableList &; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::VersionApplied::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Binding::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Binding::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint32_t softwareVersion = static_cast(0); + uint16_t productID = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Binding -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Binding::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Binding::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Binding::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Binding::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Binding::Id; } -}; -} // namespace ClusterRevision - -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::Binding::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +} // namespace VersionApplied +namespace DownloadError { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - Attributes::Binding::TypeInfo::DecodableType binding; - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace Binding -namespace AccessControl { -namespace Structs { -namespace Target { enum class Fields { - kCluster = 0, - kEndpoint = 1, - kDeviceType = 2, + kSoftwareVersion = 0, + kBytesDownloaded = 1, + kProgressPercent = 2, + kPlatformCode = 3, }; struct Type { public: - DataModel::Nullable cluster; - DataModel::Nullable endpoint; - DataModel::Nullable deviceType; - - CHIP_ERROR Decode(TLV::TLVReader & reader); - + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::DownloadError::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } static constexpr bool kIsFabricScoped = false; - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -using DecodableType = Type; - -} // namespace Target -namespace AccessControlEntry { -enum class Fields -{ - kPrivilege = 1, - kAuthMode = 2, - kSubjects = 3, - kTargets = 4, - kFabricIndex = 254, -}; - -struct Type -{ -public: - Privilege privilege = static_cast(0); - AuthMode authMode = static_cast(0); - DataModel::Nullable> subjects; - DataModel::Nullable> targets; - chip::FabricIndex fabricIndex = static_cast(0); - - static constexpr bool kIsFabricScoped = true; - - auto GetFabricIndex() const { return fabricIndex; } - - void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } - - CHIP_ERROR EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const; - CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const; + uint32_t softwareVersion = static_cast(0); + uint64_t bytesDownloaded = static_cast(0); + DataModel::Nullable progressPercent; + DataModel::Nullable platformCode; -private: - CHIP_ERROR DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const; + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; struct DecodableType { public: - Privilege privilege = static_cast(0); - AuthMode authMode = static_cast(0); - DataModel::Nullable> subjects; - DataModel::Nullable> targets; - chip::FabricIndex fabricIndex = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = true; - - auto GetFabricIndex() const { return fabricIndex; } - - void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } -}; - -} // namespace AccessControlEntry -namespace ExtensionEntry { -enum class Fields -{ - kData = 1, - kFabricIndex = 254, -}; + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::DownloadError::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } -struct Type -{ -public: - chip::ByteSpan data; - chip::FabricIndex fabricIndex = static_cast(0); + uint32_t softwareVersion = static_cast(0); + uint64_t bytesDownloaded = static_cast(0); + DataModel::Nullable progressPercent; + DataModel::Nullable platformCode; CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = true; - - auto GetFabricIndex() const { return fabricIndex; } - - void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } - - CHIP_ERROR EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const; - CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const; - -private: - CHIP_ERROR DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const; }; - -using DecodableType = Type; - -} // namespace ExtensionEntry -} // namespace Structs +} // namespace DownloadError +} // namespace Events +} // namespace OtaSoftwareUpdateRequestor +namespace LocalizationConfiguration { namespace Attributes { -namespace Acl { -struct TypeInfo -{ - using Type = chip::app::DataModel::List; - using DecodableType = - chip::app::DataModel::DecodableList; - using DecodableArgType = - const chip::app::DataModel::DecodableList &; - - static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Acl::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Acl -namespace Extension { -struct TypeInfo -{ - using Type = chip::app::DataModel::List; - using DecodableType = - chip::app::DataModel::DecodableList; - using DecodableArgType = - const chip::app::DataModel::DecodableList &; - - static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Extension::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Extension -namespace SubjectsPerAccessControlEntry { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SubjectsPerAccessControlEntry::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace SubjectsPerAccessControlEntry -namespace TargetsPerAccessControlEntry { +namespace ActiveLocale { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TargetsPerAccessControlEntry::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LocalizationConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ActiveLocale::Id; } static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 35; } }; -} // namespace TargetsPerAccessControlEntry -namespace AccessControlEntriesPerFabric { +} // namespace ActiveLocale +namespace SupportedLocales { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList &; - static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::AccessControlEntriesPerFabric::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LocalizationConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SupportedLocales::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AccessControlEntriesPerFabric +} // namespace SupportedLocales namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LocalizationConfiguration::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LocalizationConfiguration::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LocalizationConfiguration::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LocalizationConfiguration::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LocalizationConfiguration::Id; } }; } // namespace ClusterRevision @@ -6410,15 +5551,12 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LocalizationConfiguration::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::Acl::TypeInfo::DecodableType acl; - Attributes::Extension::TypeInfo::DecodableType extension; - Attributes::SubjectsPerAccessControlEntry::TypeInfo::DecodableType subjectsPerAccessControlEntry = static_cast(0); - Attributes::TargetsPerAccessControlEntry::TypeInfo::DecodableType targetsPerAccessControlEntry = static_cast(0); - Attributes::AccessControlEntriesPerFabric::TypeInfo::DecodableType accessControlEntriesPerFabric = static_cast(0); + Attributes::ActiveLocale::TypeInfo::DecodableType activeLocale; + Attributes::SupportedLocales::TypeInfo::DecodableType supportedLocales; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -6427,407 +5565,210 @@ struct TypeInfo }; }; } // namespace Attributes -namespace Events { -namespace AccessControlEntryChanged { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ - kAdminNodeID = 1, - kAdminPasscodeID = 2, - kChangeType = 3, - kLatestValue = 4, - kAdminFabricIndex = 254, -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::AccessControlEntryChanged::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } - static constexpr bool kIsFabricScoped = true; - - DataModel::Nullable adminNodeID; - DataModel::Nullable adminPasscodeID; - ChangeTypeEnum changeType = static_cast(0); - DataModel::Nullable latestValue; - chip::FabricIndex adminFabricIndex = static_cast(0); - - auto GetFabricIndex() const { return adminFabricIndex; } +} // namespace LocalizationConfiguration +namespace TimeFormatLocalization { - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; +namespace Attributes { -struct DecodableType +namespace HourFormat { +struct TypeInfo { -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::AccessControlEntryChanged::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } - - DataModel::Nullable adminNodeID; - DataModel::Nullable adminPasscodeID; - ChangeTypeEnum changeType = static_cast(0); - DataModel::Nullable latestValue; - chip::FabricIndex adminFabricIndex = static_cast(0); + using Type = chip::app::Clusters::TimeFormatLocalization::HourFormat; + using DecodableType = chip::app::Clusters::TimeFormatLocalization::HourFormat; + using DecodableArgType = chip::app::Clusters::TimeFormatLocalization::HourFormat; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::HourFormat::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AccessControlEntryChanged -namespace AccessControlExtensionChanged { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields +} // namespace HourFormat +namespace ActiveCalendarType { +struct TypeInfo { - kAdminNodeID = 1, - kAdminPasscodeID = 2, - kChangeType = 3, - kLatestValue = 4, - kAdminFabricIndex = 254, -}; + using Type = chip::app::Clusters::TimeFormatLocalization::CalendarType; + using DecodableType = chip::app::Clusters::TimeFormatLocalization::CalendarType; + using DecodableArgType = chip::app::Clusters::TimeFormatLocalization::CalendarType; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ActiveCalendarType::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ActiveCalendarType +namespace SupportedCalendarTypes { +struct TypeInfo { -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::AccessControlExtensionChanged::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } - static constexpr bool kIsFabricScoped = true; - - DataModel::Nullable adminNodeID; - DataModel::Nullable adminPasscodeID; - ChangeTypeEnum changeType = static_cast(0); - DataModel::Nullable latestValue; - chip::FabricIndex adminFabricIndex = static_cast(0); - - auto GetFabricIndex() const { return adminFabricIndex; } + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList &; - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SupportedCalendarTypes::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace SupportedCalendarTypes +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::AccessControlExtensionChanged::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } - - DataModel::Nullable adminNodeID; - DataModel::Nullable adminPasscodeID; - ChangeTypeEnum changeType = static_cast(0); - DataModel::Nullable latestValue; - chip::FabricIndex adminFabricIndex = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } }; -} // namespace AccessControlExtensionChanged -} // namespace Events -} // namespace AccessControl -namespace PollControl { - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace CheckIn { -struct Type; -struct DecodableType; -} // namespace CheckIn - -namespace CheckInResponse { -struct Type; -struct DecodableType; -} // namespace CheckInResponse - -namespace FastPollStop { -struct Type; -struct DecodableType; -} // namespace FastPollStop - -namespace SetLongPollInterval { -struct Type; -struct DecodableType; -} // namespace SetLongPollInterval - -namespace SetShortPollInterval { -struct Type; -struct DecodableType; -} // namespace SetShortPollInterval - -} // namespace Commands - -namespace Commands { -namespace CheckIn { -enum class Fields +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { + static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } }; - -struct Type +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::CheckIn::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::PollControl::Commands::CheckInResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } }; - -struct DecodableType +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::CheckIn::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } }; -}; // namespace CheckIn -namespace CheckInResponse { -enum class Fields +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - kStartFastPolling = 0, - kFastPollTimeout = 1, + static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } }; +} // namespace ClusterRevision -struct Type +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::CheckInResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } - - bool startFastPolling = static_cast(0); - uint16_t fastPollTimeout = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } - using ResponseType = DataModel::NullObjectType; + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - static constexpr bool MustUseTimedInvoke() { return false; } + Attributes::HourFormat::TypeInfo::DecodableType hourFormat = + static_cast(0); + Attributes::ActiveCalendarType::TypeInfo::DecodableType activeCalendarType = + static_cast(0); + Attributes::SupportedCalendarTypes::TypeInfo::DecodableType supportedCalendarTypes; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; +} // namespace Attributes +} // namespace TimeFormatLocalization +namespace UnitLocalization { -struct DecodableType +namespace Attributes { + +namespace TemperatureUnit { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::CheckInResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } + using Type = chip::app::Clusters::UnitLocalization::TempUnit; + using DecodableType = chip::app::Clusters::UnitLocalization::TempUnit; + using DecodableArgType = chip::app::Clusters::UnitLocalization::TempUnit; - bool startFastPolling = static_cast(0); - uint16_t fastPollTimeout = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::UnitLocalization::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TemperatureUnit::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace CheckInResponse -namespace FastPollStop { -enum class Fields +} // namespace TemperatureUnit +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { + static constexpr ClusterId GetClusterId() { return Clusters::UnitLocalization::Id; } }; - -struct Type +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::FastPollStop::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::UnitLocalization::Id; } }; - -struct DecodableType +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::FastPollStop::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::UnitLocalization::Id; } }; -}; // namespace FastPollStop -namespace SetLongPollInterval { -enum class Fields +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - kNewLongPollInterval = 0, + static constexpr ClusterId GetClusterId() { return Clusters::UnitLocalization::Id; } }; - -struct Type +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SetLongPollInterval::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } - - uint32_t newLongPollInterval = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr ClusterId GetClusterId() { return Clusters::UnitLocalization::Id; } +}; +} // namespace ClusterRevision - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::SetLongPollInterval::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } - - uint32_t newLongPollInterval = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace SetLongPollInterval -namespace SetShortPollInterval { -enum class Fields -{ - kNewShortPollInterval = 0, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SetShortPollInterval::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } - - uint16_t newShortPollInterval = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::SetShortPollInterval::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } - - uint16_t newShortPollInterval = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace SetShortPollInterval -} // namespace Commands - -namespace Attributes { - -namespace CheckInInterval { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CheckInInterval::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace CheckInInterval -namespace LongPollInterval { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LongPollInterval::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace LongPollInterval -namespace ShortPollInterval { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::UnitLocalization::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ShortPollInterval::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ShortPollInterval -namespace FastPollTimeout { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::FastPollTimeout::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + Attributes::TemperatureUnit::TypeInfo::DecodableType temperatureUnit = + static_cast(0); + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; -} // namespace FastPollTimeout -namespace CheckInIntervalMin { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +} // namespace Attributes +} // namespace UnitLocalization +namespace PowerSourceConfiguration { - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CheckInIntervalMin::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace CheckInIntervalMin -namespace LongPollIntervalMin { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +namespace Attributes { - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LongPollIntervalMin::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace LongPollIntervalMin -namespace FastPollTimeoutMax { +namespace Sources { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList &; - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::FastPollTimeoutMax::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSourceConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Sources::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace FastPollTimeoutMax +} // namespace Sources namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSourceConfiguration::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSourceConfiguration::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSourceConfiguration::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSourceConfiguration::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSourceConfiguration::Id; } }; } // namespace ClusterRevision @@ -6835,17 +5776,11 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSourceConfiguration::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::CheckInInterval::TypeInfo::DecodableType checkInInterval = static_cast(0); - Attributes::LongPollInterval::TypeInfo::DecodableType longPollInterval = static_cast(0); - Attributes::ShortPollInterval::TypeInfo::DecodableType shortPollInterval = static_cast(0); - Attributes::FastPollTimeout::TypeInfo::DecodableType fastPollTimeout = static_cast(0); - Attributes::CheckInIntervalMin::TypeInfo::DecodableType checkInIntervalMin = static_cast(0); - Attributes::LongPollIntervalMin::TypeInfo::DecodableType longPollIntervalMin = static_cast(0); - Attributes::FastPollTimeoutMax::TypeInfo::DecodableType fastPollTimeoutMax = static_cast(0); + Attributes::Sources::TypeInfo::DecodableType sources; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -6854,56 +5789,51 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace PollControl -namespace BridgedActions { +} // namespace PowerSourceConfiguration +namespace PowerSource { namespace Structs { -namespace ActionStruct { +namespace BatChargeFaultChangeType { enum class Fields { - kActionID = 0, - kName = 1, - kType = 2, - kEndpointListID = 3, - kSupportedCommands = 4, - kStatus = 5, + kCurrent = 0, + kPrevious = 1, }; struct Type { public: - uint16_t actionID = static_cast(0); - chip::CharSpan name; - ActionTypeEnum type = static_cast(0); - uint16_t endpointListID = static_cast(0); - uint16_t supportedCommands = static_cast(0); - ActionStateEnum status = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); + DataModel::List current; + DataModel::List previous; static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -using DecodableType = Type; +struct DecodableType +{ +public: + DataModel::DecodableList current; + DataModel::DecodableList previous; -} // namespace ActionStruct -namespace EndpointListStruct { + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; +}; + +} // namespace BatChargeFaultChangeType +namespace BatFaultChangeType { enum class Fields { - kEndpointListID = 0, - kName = 1, - kType = 2, - kEndpoints = 3, + kCurrent = 0, + kPrevious = 1, }; struct Type { public: - uint16_t endpointListID = static_cast(0); - chip::CharSpan name; - EndpointListTypeEnum type = static_cast(0); - DataModel::List endpoints; + DataModel::List current; + DataModel::List previous; static constexpr bool kIsFabricScoped = false; @@ -6913,593 +5843,453 @@ struct Type struct DecodableType { public: - uint16_t endpointListID = static_cast(0); - chip::CharSpan name; - EndpointListTypeEnum type = static_cast(0); - DataModel::DecodableList endpoints; + DataModel::DecodableList current; + DataModel::DecodableList previous; CHIP_ERROR Decode(TLV::TLVReader & reader); static constexpr bool kIsFabricScoped = false; }; -} // namespace EndpointListStruct -} // namespace Structs - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace InstantAction { -struct Type; -struct DecodableType; -} // namespace InstantAction - -namespace InstantActionWithTransition { -struct Type; -struct DecodableType; -} // namespace InstantActionWithTransition - -namespace StartAction { -struct Type; -struct DecodableType; -} // namespace StartAction - -namespace StartActionWithDuration { -struct Type; -struct DecodableType; -} // namespace StartActionWithDuration - -namespace StopAction { -struct Type; -struct DecodableType; -} // namespace StopAction - -namespace PauseAction { -struct Type; -struct DecodableType; -} // namespace PauseAction - -namespace PauseActionWithDuration { -struct Type; -struct DecodableType; -} // namespace PauseActionWithDuration - -namespace ResumeAction { -struct Type; -struct DecodableType; -} // namespace ResumeAction - -namespace EnableAction { -struct Type; -struct DecodableType; -} // namespace EnableAction - -namespace EnableActionWithDuration { -struct Type; -struct DecodableType; -} // namespace EnableActionWithDuration - -namespace DisableAction { -struct Type; -struct DecodableType; -} // namespace DisableAction - -namespace DisableActionWithDuration { -struct Type; -struct DecodableType; -} // namespace DisableActionWithDuration - -} // namespace Commands - -namespace Commands { -namespace InstantAction { +} // namespace BatFaultChangeType +namespace WiredFaultChangeType { enum class Fields { - kActionID = 0, - kInvokeID = 1, + kCurrent = 0, + kPrevious = 1, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::InstantAction::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + DataModel::List current; + DataModel::List previous; - uint16_t actionID = static_cast(0); - Optional invokeID; + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::InstantAction::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + DataModel::DecodableList current; + DataModel::DecodableList previous; - uint16_t actionID = static_cast(0); - Optional invokeID; CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace InstantAction -namespace InstantActionWithTransition { -enum class Fields -{ - kActionID = 0, - kInvokeID = 1, - kTransitionTime = 2, -}; -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::InstantActionWithTransition::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + static constexpr bool kIsFabricScoped = false; +}; - uint16_t actionID = static_cast(0); - Optional invokeID; - uint16_t transitionTime = static_cast(0); +} // namespace WiredFaultChangeType +} // namespace Structs - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +namespace Attributes { - using ResponseType = DataModel::NullObjectType; +namespace Status { +struct TypeInfo +{ + using Type = chip::app::Clusters::PowerSource::PowerSourceStatus; + using DecodableType = chip::app::Clusters::PowerSource::PowerSourceStatus; + using DecodableArgType = chip::app::Clusters::PowerSource::PowerSourceStatus; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Status::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace Status +namespace Order { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::InstantActionWithTransition::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - uint16_t actionID = static_cast(0); - Optional invokeID; - uint16_t transitionTime = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Order::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace InstantActionWithTransition -namespace StartAction { -enum class Fields +} // namespace Order +namespace Description { +struct TypeInfo { - kActionID = 0, - kInvokeID = 1, -}; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Description::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 60; } +}; +} // namespace Description +namespace WiredAssessedInputVoltage { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::StartAction::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - - uint16_t actionID = static_cast(0); - Optional invokeID; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::WiredAssessedInputVoltage::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace WiredAssessedInputVoltage +namespace WiredAssessedInputFrequency { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::StartAction::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - uint16_t actionID = static_cast(0); - Optional invokeID; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::WiredAssessedInputFrequency::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace StartAction -namespace StartActionWithDuration { -enum class Fields +} // namespace WiredAssessedInputFrequency +namespace WiredCurrentType { +struct TypeInfo { - kActionID = 0, - kInvokeID = 1, - kDuration = 2, -}; + using Type = chip::app::Clusters::PowerSource::WiredCurrentType; + using DecodableType = chip::app::Clusters::PowerSource::WiredCurrentType; + using DecodableArgType = chip::app::Clusters::PowerSource::WiredCurrentType; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::WiredCurrentType::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace WiredCurrentType +namespace WiredAssessedCurrent { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::StartActionWithDuration::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - - uint16_t actionID = static_cast(0); - Optional invokeID; - uint32_t duration = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::WiredAssessedCurrent::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace WiredAssessedCurrent +namespace WiredNominalVoltage { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::StartActionWithDuration::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - uint16_t actionID = static_cast(0); - Optional invokeID; - uint32_t duration = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::WiredNominalVoltage::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace StartActionWithDuration -namespace StopAction { -enum class Fields +} // namespace WiredNominalVoltage +namespace WiredMaximumCurrent { +struct TypeInfo { - kActionID = 0, - kInvokeID = 1, -}; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::WiredMaximumCurrent::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace WiredMaximumCurrent +namespace WiredPresent { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::StopAction::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - - uint16_t actionID = static_cast(0); - Optional invokeID; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::WiredPresent::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace WiredPresent +namespace ActiveWiredFaults { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::StopAction::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList &; - uint16_t actionID = static_cast(0); - Optional invokeID; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ActiveWiredFaults::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace StopAction -namespace PauseAction { -enum class Fields +} // namespace ActiveWiredFaults +namespace BatVoltage { +struct TypeInfo { - kActionID = 0, - kInvokeID = 1, -}; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatVoltage::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace BatVoltage +namespace BatPercentRemaining { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::PauseAction::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - uint16_t actionID = static_cast(0); - Optional invokeID; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatPercentRemaining::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace BatPercentRemaining +namespace BatTimeRemaining { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::PauseAction::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - uint16_t actionID = static_cast(0); - Optional invokeID; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatTimeRemaining::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace PauseAction -namespace PauseActionWithDuration { -enum class Fields +} // namespace BatTimeRemaining +namespace BatChargeLevel { +struct TypeInfo { - kActionID = 0, - kInvokeID = 1, - kDuration = 2, -}; + using Type = chip::app::Clusters::PowerSource::BatChargeLevel; + using DecodableType = chip::app::Clusters::PowerSource::BatChargeLevel; + using DecodableArgType = chip::app::Clusters::PowerSource::BatChargeLevel; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatChargeLevel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace BatChargeLevel +namespace BatReplacementNeeded { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::PauseActionWithDuration::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - - uint16_t actionID = static_cast(0); - Optional invokeID; - uint32_t duration = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatReplacementNeeded::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace BatReplacementNeeded +namespace BatReplaceability { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::PauseActionWithDuration::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + using Type = chip::app::Clusters::PowerSource::BatReplaceability; + using DecodableType = chip::app::Clusters::PowerSource::BatReplaceability; + using DecodableArgType = chip::app::Clusters::PowerSource::BatReplaceability; - uint16_t actionID = static_cast(0); - Optional invokeID; - uint32_t duration = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatReplaceability::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace PauseActionWithDuration -namespace ResumeAction { -enum class Fields +} // namespace BatReplaceability +namespace BatPresent { +struct TypeInfo { - kActionID = 0, - kInvokeID = 1, -}; + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatPresent::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace BatPresent +namespace ActiveBatFaults { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ResumeAction::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - - uint16_t actionID = static_cast(0); - Optional invokeID; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList &; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ActiveBatFaults::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace ActiveBatFaults +namespace BatReplacementDescription { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::ResumeAction::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - uint16_t actionID = static_cast(0); - Optional invokeID; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatReplacementDescription::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 60; } }; -}; // namespace ResumeAction -namespace EnableAction { -enum class Fields +} // namespace BatReplacementDescription +namespace BatCommonDesignation { +struct TypeInfo { - kActionID = 0, - kInvokeID = 1, -}; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatCommonDesignation::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace BatCommonDesignation +namespace BatANSIDesignation { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::EnableAction::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - - uint16_t actionID = static_cast(0); - Optional invokeID; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatANSIDesignation::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 20; } }; - -struct DecodableType +} // namespace BatANSIDesignation +namespace BatIECDesignation { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::EnableAction::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - uint16_t actionID = static_cast(0); - Optional invokeID; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatIECDesignation::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 20; } }; -}; // namespace EnableAction -namespace EnableActionWithDuration { -enum class Fields +} // namespace BatIECDesignation +namespace BatApprovedChemistry { +struct TypeInfo { - kActionID = 0, - kInvokeID = 1, - kDuration = 2, -}; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatApprovedChemistry::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace BatApprovedChemistry +namespace BatCapacity { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::EnableActionWithDuration::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - - uint16_t actionID = static_cast(0); - Optional invokeID; - uint32_t duration = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatCapacity::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace BatCapacity +namespace BatQuantity { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::EnableActionWithDuration::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - uint16_t actionID = static_cast(0); - Optional invokeID; - uint32_t duration = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatQuantity::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace EnableActionWithDuration -namespace DisableAction { -enum class Fields -{ - kActionID = 0, - kInvokeID = 1, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::DisableAction::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - - uint16_t actionID = static_cast(0); - Optional invokeID; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::DisableAction::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - - uint16_t actionID = static_cast(0); - Optional invokeID; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace DisableAction -namespace DisableActionWithDuration { -enum class Fields -{ - kActionID = 0, - kInvokeID = 1, - kDuration = 2, -}; - -struct Type +} // namespace BatQuantity +namespace BatChargeState { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::DisableActionWithDuration::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - - uint16_t actionID = static_cast(0); - Optional invokeID; - uint32_t duration = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = chip::app::Clusters::PowerSource::BatChargeState; + using DecodableType = chip::app::Clusters::PowerSource::BatChargeState; + using DecodableArgType = chip::app::Clusters::PowerSource::BatChargeState; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatChargeState::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace BatChargeState +namespace BatTimeToFullCharge { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::DisableActionWithDuration::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - uint16_t actionID = static_cast(0); - Optional invokeID; - uint32_t duration = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatTimeToFullCharge::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace DisableActionWithDuration -} // namespace Commands - -namespace Attributes { - -namespace ActionList { +} // namespace BatTimeToFullCharge +namespace BatFunctionalWhileCharging { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = - chip::app::DataModel::DecodableList; - using DecodableArgType = - const chip::app::DataModel::DecodableList &; + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ActionList::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatFunctionalWhileCharging::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ActionList -namespace EndpointList { +} // namespace BatFunctionalWhileCharging +namespace BatChargingCurrent { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = - chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList< - chip::app::Clusters::BridgedActions::Structs::EndpointListStruct::DecodableType> &; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::EndpointList::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BatChargingCurrent::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace EndpointList -namespace SetupUrl { +} // namespace BatChargingCurrent +namespace ActiveBatChargeFaults { struct TypeInfo { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList &; - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SetupUrl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ActiveBatChargeFaults::Id; } static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 512; } }; -} // namespace SetupUrl +} // namespace ActiveBatChargeFaults namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } }; } // namespace ClusterRevision @@ -7507,13 +6297,45 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::ActionList::TypeInfo::DecodableType actionList; - Attributes::EndpointList::TypeInfo::DecodableType endpointList; - Attributes::SetupUrl::TypeInfo::DecodableType setupUrl; + Attributes::Status::TypeInfo::DecodableType status = static_cast(0); + Attributes::Order::TypeInfo::DecodableType order = static_cast(0); + Attributes::Description::TypeInfo::DecodableType description; + Attributes::WiredAssessedInputVoltage::TypeInfo::DecodableType wiredAssessedInputVoltage; + Attributes::WiredAssessedInputFrequency::TypeInfo::DecodableType wiredAssessedInputFrequency; + Attributes::WiredCurrentType::TypeInfo::DecodableType wiredCurrentType = + static_cast(0); + Attributes::WiredAssessedCurrent::TypeInfo::DecodableType wiredAssessedCurrent; + Attributes::WiredNominalVoltage::TypeInfo::DecodableType wiredNominalVoltage = static_cast(0); + Attributes::WiredMaximumCurrent::TypeInfo::DecodableType wiredMaximumCurrent = static_cast(0); + Attributes::WiredPresent::TypeInfo::DecodableType wiredPresent = static_cast(0); + Attributes::ActiveWiredFaults::TypeInfo::DecodableType activeWiredFaults; + Attributes::BatVoltage::TypeInfo::DecodableType batVoltage; + Attributes::BatPercentRemaining::TypeInfo::DecodableType batPercentRemaining; + Attributes::BatTimeRemaining::TypeInfo::DecodableType batTimeRemaining; + Attributes::BatChargeLevel::TypeInfo::DecodableType batChargeLevel = + static_cast(0); + Attributes::BatReplacementNeeded::TypeInfo::DecodableType batReplacementNeeded = static_cast(0); + Attributes::BatReplaceability::TypeInfo::DecodableType batReplaceability = + static_cast(0); + Attributes::BatPresent::TypeInfo::DecodableType batPresent = static_cast(0); + Attributes::ActiveBatFaults::TypeInfo::DecodableType activeBatFaults; + Attributes::BatReplacementDescription::TypeInfo::DecodableType batReplacementDescription; + Attributes::BatCommonDesignation::TypeInfo::DecodableType batCommonDesignation = static_cast(0); + Attributes::BatANSIDesignation::TypeInfo::DecodableType batANSIDesignation; + Attributes::BatIECDesignation::TypeInfo::DecodableType batIECDesignation; + Attributes::BatApprovedChemistry::TypeInfo::DecodableType batApprovedChemistry = static_cast(0); + Attributes::BatCapacity::TypeInfo::DecodableType batCapacity = static_cast(0); + Attributes::BatQuantity::TypeInfo::DecodableType batQuantity = static_cast(0); + Attributes::BatChargeState::TypeInfo::DecodableType batChargeState = + static_cast(0); + Attributes::BatTimeToFullCharge::TypeInfo::DecodableType batTimeToFullCharge; + Attributes::BatFunctionalWhileCharging::TypeInfo::DecodableType batFunctionalWhileCharging = static_cast(0); + Attributes::BatChargingCurrent::TypeInfo::DecodableType batChargingCurrent; + Attributes::ActiveBatChargeFaults::TypeInfo::DecodableType activeBatChargeFaults; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -7522,139 +6344,257 @@ struct TypeInfo }; }; } // namespace Attributes -namespace Events { -namespace StateChanged { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - +} // namespace PowerSource +namespace GeneralCommissioning { +namespace Structs { +namespace BasicCommissioningInfo { enum class Fields { - kActionID = 0, - kInvokeID = 1, - kNewState = 2, + kFailSafeExpiryLengthSeconds = 0, + kMaxCumulativeFailsafeSeconds = 1, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::StateChanged::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - static constexpr bool kIsFabricScoped = false; + uint16_t failSafeExpiryLengthSeconds = static_cast(0); + uint16_t maxCumulativeFailsafeSeconds = static_cast(0); - uint16_t actionID = static_cast(0); - uint32_t invokeID = static_cast(0); - ActionStateEnum newState = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::StateChanged::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } +using DecodableType = Type; - uint16_t actionID = static_cast(0); - uint32_t invokeID = static_cast(0); - ActionStateEnum newState = static_cast(0); +} // namespace BasicCommissioningInfo +} // namespace Structs - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace StateChanged -namespace ActionFailed { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; +namespace Commands { +// Forward-declarations so we can reference these later. -enum class Fields -{ - kActionID = 0, - kInvokeID = 1, - kNewState = 2, - kError = 3, -}; +namespace ArmFailSafe { +struct Type; +struct DecodableType; +} // namespace ArmFailSafe -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ActionFailed::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } - static constexpr bool kIsFabricScoped = false; +namespace ArmFailSafeResponse { +struct Type; +struct DecodableType; +} // namespace ArmFailSafeResponse - uint16_t actionID = static_cast(0); - uint32_t invokeID = static_cast(0); - ActionStateEnum newState = static_cast(0); - ActionErrorEnum error = static_cast(0); +namespace SetRegulatoryConfig { +struct Type; +struct DecodableType; +} // namespace SetRegulatoryConfig + +namespace SetRegulatoryConfigResponse { +struct Type; +struct DecodableType; +} // namespace SetRegulatoryConfigResponse + +namespace CommissioningComplete { +struct Type; +struct DecodableType; +} // namespace CommissioningComplete + +namespace CommissioningCompleteResponse { +struct Type; +struct DecodableType; +} // namespace CommissioningCompleteResponse + +} // namespace Commands + +namespace Commands { +namespace ArmFailSafe { +enum class Fields +{ + kExpiryLengthSeconds = 0, + kBreadcrumb = 1, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ArmFailSafe::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + + uint16_t expiryLengthSeconds = static_cast(0); + uint64_t breadcrumb = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::GeneralCommissioning::Commands::ArmFailSafeResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ActionFailed::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + static constexpr CommandId GetCommandId() { return Commands::ArmFailSafe::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } - uint16_t actionID = static_cast(0); - uint32_t invokeID = static_cast(0); - ActionStateEnum newState = static_cast(0); - ActionErrorEnum error = static_cast(0); + uint16_t expiryLengthSeconds = static_cast(0); + uint64_t breadcrumb = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace ArmFailSafe +namespace ArmFailSafeResponse { +enum class Fields +{ + kErrorCode = 0, + kDebugText = 1, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ArmFailSafeResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + + CommissioningError errorCode = static_cast(0); + chip::CharSpan debugText; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::ArmFailSafeResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + CommissioningError errorCode = static_cast(0); + chip::CharSpan debugText; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace ActionFailed -} // namespace Events -} // namespace BridgedActions -namespace Basic { -namespace Structs { -namespace CapabilityMinimaStruct { +}; // namespace ArmFailSafeResponse +namespace SetRegulatoryConfig { enum class Fields { - kCaseSessionsPerFabric = 0, - kSubscriptionsPerFabric = 1, + kNewRegulatoryConfig = 0, + kCountryCode = 1, + kBreadcrumb = 2, }; struct Type { public: - uint16_t caseSessionsPerFabric = static_cast(0); - uint16_t subscriptionsPerFabric = static_cast(0); + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SetRegulatoryConfig::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + + RegulatoryLocationType newRegulatoryConfig = static_cast(0); + chip::CharSpan countryCode; + uint64_t breadcrumb = static_cast(0); + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::GeneralCommissioning::Commands::SetRegulatoryConfigResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::SetRegulatoryConfig::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + + RegulatoryLocationType newRegulatoryConfig = static_cast(0); + chip::CharSpan countryCode; + uint64_t breadcrumb = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace SetRegulatoryConfig +namespace SetRegulatoryConfigResponse { +enum class Fields +{ + kErrorCode = 0, + kDebugText = 1, +}; - static constexpr bool kIsFabricScoped = false; +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SetRegulatoryConfigResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + + CommissioningError errorCode = static_cast(0); + chip::CharSpan debugText; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -using DecodableType = Type; +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::SetRegulatoryConfigResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } -} // namespace CapabilityMinimaStruct -} // namespace Structs + CommissioningError errorCode = static_cast(0); + chip::CharSpan debugText; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace SetRegulatoryConfigResponse +namespace CommissioningComplete { +enum class Fields +{ +}; -namespace Commands { -// Forward-declarations so we can reference these later. +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::CommissioningComplete::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } -namespace MfgSpecificPing { -struct Type; -struct DecodableType; -} // namespace MfgSpecificPing + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -} // namespace Commands + using ResponseType = Clusters::GeneralCommissioning::Commands::CommissioningCompleteResponse::DecodableType; -namespace Commands { -namespace MfgSpecificPing { + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::CommissioningComplete::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace CommissioningComplete +namespace CommissioningCompleteResponse { enum class Fields { + kErrorCode = 0, + kDebugText = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::MfgSpecificPing::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr CommandId GetCommandId() { return Commands::CommissioningCompleteResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + + CommissioningError errorCode = static_cast(0); + chip::CharSpan debugText; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -7666,296 +6606,106 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::MfgSpecificPing::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr CommandId GetCommandId() { return Commands::CommissioningCompleteResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + CommissioningError errorCode = static_cast(0); + chip::CharSpan debugText; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace MfgSpecificPing +}; // namespace CommissioningCompleteResponse } // namespace Commands namespace Attributes { -namespace DataModelRevision { +namespace Breadcrumb { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = uint64_t; + using DecodableType = uint64_t; + using DecodableArgType = uint64_t; - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DataModelRevision::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Breadcrumb::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace DataModelRevision -namespace VendorName { +} // namespace Breadcrumb +namespace BasicCommissioningInfo { struct TypeInfo { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + using Type = chip::app::Clusters::GeneralCommissioning::Structs::BasicCommissioningInfo::Type; + using DecodableType = chip::app::Clusters::GeneralCommissioning::Structs::BasicCommissioningInfo::DecodableType; + using DecodableArgType = const chip::app::Clusters::GeneralCommissioning::Structs::BasicCommissioningInfo::DecodableType &; - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::VendorName::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BasicCommissioningInfo::Id; } static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } }; -} // namespace VendorName -namespace VendorID { +} // namespace BasicCommissioningInfo +namespace RegulatoryConfig { struct TypeInfo { - using Type = chip::VendorId; - using DecodableType = chip::VendorId; - using DecodableArgType = chip::VendorId; + using Type = chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType; + using DecodableType = chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType; + using DecodableArgType = chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType; - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::VendorID::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RegulatoryConfig::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace VendorID -namespace ProductName { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ProductName::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } -}; -} // namespace ProductName -namespace ProductID { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ProductID::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ProductID -namespace NodeLabel { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NodeLabel::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } -}; -} // namespace NodeLabel -namespace Location { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Location::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 2; } -}; -} // namespace Location -namespace HardwareVersion { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::HardwareVersion::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace HardwareVersion -namespace HardwareVersionString { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::HardwareVersionString::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 64; } -}; -} // namespace HardwareVersionString -namespace SoftwareVersion { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SoftwareVersion::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace SoftwareVersion -namespace SoftwareVersionString { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SoftwareVersionString::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 64; } -}; -} // namespace SoftwareVersionString -namespace ManufacturingDate { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ManufacturingDate::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } -}; -} // namespace ManufacturingDate -namespace PartNumber { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PartNumber::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } -}; -} // namespace PartNumber -namespace ProductURL { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ProductURL::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 256; } -}; -} // namespace ProductURL -namespace ProductLabel { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ProductLabel::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 64; } -}; -} // namespace ProductLabel -namespace SerialNumber { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SerialNumber::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } -}; -} // namespace SerialNumber -namespace LocalConfigDisabled { +} // namespace RegulatoryConfig +namespace LocationCapability { struct TypeInfo { - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; + using Type = chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType; + using DecodableType = chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType; + using DecodableArgType = chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType; - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LocalConfigDisabled::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LocationCapability::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace LocalConfigDisabled -namespace Reachable { +} // namespace LocationCapability +namespace SupportsConcurrentConnection { struct TypeInfo { using Type = bool; using DecodableType = bool; using DecodableArgType = bool; - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Reachable::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Reachable -namespace UniqueID { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::UniqueID::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } -}; -} // namespace UniqueID -namespace CapabilityMinima { -struct TypeInfo -{ - using Type = chip::app::Clusters::Basic::Structs::CapabilityMinimaStruct::Type; - using DecodableType = chip::app::Clusters::Basic::Structs::CapabilityMinimaStruct::DecodableType; - using DecodableArgType = const chip::app::Clusters::Basic::Structs::CapabilityMinimaStruct::DecodableType &; - - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CapabilityMinima::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SupportsConcurrentConnection::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CapabilityMinima +} // namespace SupportsConcurrentConnection namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } }; } // namespace ClusterRevision @@ -7963,30 +6713,17 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::DataModelRevision::TypeInfo::DecodableType dataModelRevision = static_cast(0); - Attributes::VendorName::TypeInfo::DecodableType vendorName; - Attributes::VendorID::TypeInfo::DecodableType vendorID = static_cast(0); - Attributes::ProductName::TypeInfo::DecodableType productName; - Attributes::ProductID::TypeInfo::DecodableType productID = static_cast(0); - Attributes::NodeLabel::TypeInfo::DecodableType nodeLabel; - Attributes::Location::TypeInfo::DecodableType location; - Attributes::HardwareVersion::TypeInfo::DecodableType hardwareVersion = static_cast(0); - Attributes::HardwareVersionString::TypeInfo::DecodableType hardwareVersionString; - Attributes::SoftwareVersion::TypeInfo::DecodableType softwareVersion = static_cast(0); - Attributes::SoftwareVersionString::TypeInfo::DecodableType softwareVersionString; - Attributes::ManufacturingDate::TypeInfo::DecodableType manufacturingDate; - Attributes::PartNumber::TypeInfo::DecodableType partNumber; - Attributes::ProductURL::TypeInfo::DecodableType productURL; - Attributes::ProductLabel::TypeInfo::DecodableType productLabel; - Attributes::SerialNumber::TypeInfo::DecodableType serialNumber; - Attributes::LocalConfigDisabled::TypeInfo::DecodableType localConfigDisabled = static_cast(0); - Attributes::Reachable::TypeInfo::DecodableType reachable = static_cast(0); - Attributes::UniqueID::TypeInfo::DecodableType uniqueID; - Attributes::CapabilityMinima::TypeInfo::DecodableType capabilityMinima; + Attributes::Breadcrumb::TypeInfo::DecodableType breadcrumb = static_cast(0); + Attributes::BasicCommissioningInfo::TypeInfo::DecodableType basicCommissioningInfo; + Attributes::RegulatoryConfig::TypeInfo::DecodableType regulatoryConfig = + static_cast(0); + Attributes::LocationCapability::TypeInfo::DecodableType locationCapability = + static_cast(0); + Attributes::SupportsConcurrentConnection::TypeInfo::DecodableType supportsConcurrentConnection = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -7995,196 +6732,171 @@ struct TypeInfo }; }; } // namespace Attributes -namespace Events { -namespace StartUp { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; - +} // namespace GeneralCommissioning +namespace NetworkCommissioning { +namespace Structs { +namespace NetworkInfo { enum class Fields { - kSoftwareVersion = 0, + kNetworkID = 0, + kConnected = 1, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::StartUp::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr bool kIsFabricScoped = false; - - uint32_t softwareVersion = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::StartUp::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - - uint32_t softwareVersion = static_cast(0); + chip::ByteSpan networkID; + bool connected = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace StartUp -namespace ShutDown { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ShutDown::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ShutDown::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace ShutDown -namespace Leave { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; +using DecodableType = Type; +} // namespace NetworkInfo +namespace ThreadInterfaceScanResult { enum class Fields { + kPanId = 0, + kExtendedPanId = 1, + kNetworkName = 2, + kChannel = 3, + kVersion = 4, + kExtendedAddress = 5, + kRssi = 6, + kLqi = 7, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::Leave::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + uint16_t panId = static_cast(0); + uint64_t extendedPanId = static_cast(0); + chip::CharSpan networkName; + uint16_t channel = static_cast(0); + uint8_t version = static_cast(0); + chip::ByteSpan extendedAddress; + int8_t rssi = static_cast(0); + uint8_t lqi = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::Leave::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace Leave -namespace ReachableChanged { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; +using DecodableType = Type; +} // namespace ThreadInterfaceScanResult +namespace WiFiInterfaceScanResult { enum class Fields { - kReachableNewValue = 0, + kSecurity = 0, + kSsid = 1, + kBssid = 2, + kChannel = 3, + kWiFiBand = 4, + kRssi = 5, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ReachableChanged::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - static constexpr bool kIsFabricScoped = false; + chip::BitMask security = static_cast>(0); + chip::ByteSpan ssid; + chip::ByteSpan bssid; + uint16_t channel = static_cast(0); + WiFiBand wiFiBand = static_cast(0); + int8_t rssi = static_cast(0); - bool reachableNewValue = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ReachableChanged::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } - - bool reachableNewValue = static_cast(0); +using DecodableType = Type; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace ReachableChanged -} // namespace Events -} // namespace Basic -namespace OtaSoftwareUpdateProvider { +} // namespace WiFiInterfaceScanResult +} // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. -namespace QueryImage { +namespace ScanNetworks { struct Type; struct DecodableType; -} // namespace QueryImage +} // namespace ScanNetworks -namespace QueryImageResponse { +namespace ScanNetworksResponse { struct Type; struct DecodableType; -} // namespace QueryImageResponse +} // namespace ScanNetworksResponse -namespace ApplyUpdateRequest { +namespace AddOrUpdateWiFiNetwork { struct Type; struct DecodableType; -} // namespace ApplyUpdateRequest +} // namespace AddOrUpdateWiFiNetwork -namespace ApplyUpdateResponse { +namespace AddOrUpdateThreadNetwork { struct Type; struct DecodableType; -} // namespace ApplyUpdateResponse +} // namespace AddOrUpdateThreadNetwork -namespace NotifyUpdateApplied { +namespace RemoveNetwork { struct Type; struct DecodableType; -} // namespace NotifyUpdateApplied +} // namespace RemoveNetwork + +namespace NetworkConfigResponse { +struct Type; +struct DecodableType; +} // namespace NetworkConfigResponse + +namespace ConnectNetwork { +struct Type; +struct DecodableType; +} // namespace ConnectNetwork + +namespace ConnectNetworkResponse { +struct Type; +struct DecodableType; +} // namespace ConnectNetworkResponse + +namespace ReorderNetwork { +struct Type; +struct DecodableType; +} // namespace ReorderNetwork } // namespace Commands namespace Commands { -namespace QueryImage { +namespace ScanNetworks { enum class Fields { - kVendorId = 0, - kProductId = 1, - kSoftwareVersion = 2, - kProtocolsSupported = 3, - kHardwareVersion = 4, - kLocation = 5, - kRequestorCanConsent = 6, - kMetadataForProvider = 7, + kSsid = 0, + kBreadcrumb = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::QueryImage::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + static constexpr CommandId GetCommandId() { return Commands::ScanNetworks::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - chip::VendorId vendorId = static_cast(0); - uint16_t productId = static_cast(0); - uint32_t softwareVersion = static_cast(0); - DataModel::List protocolsSupported; - Optional hardwareVersion; - Optional location; - Optional requestorCanConsent; - Optional metadataForProvider; + Optional> ssid; + Optional breadcrumb; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::OtaSoftwareUpdateProvider::Commands::QueryImageResponse::DecodableType; + using ResponseType = Clusters::NetworkCommissioning::Commands::ScanNetworksResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -8192,48 +6904,34 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::QueryImage::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + static constexpr CommandId GetCommandId() { return Commands::ScanNetworks::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - chip::VendorId vendorId = static_cast(0); - uint16_t productId = static_cast(0); - uint32_t softwareVersion = static_cast(0); - DataModel::DecodableList protocolsSupported; - Optional hardwareVersion; - Optional location; - Optional requestorCanConsent; - Optional metadataForProvider; + Optional> ssid; + Optional breadcrumb; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace QueryImage -namespace QueryImageResponse { +}; // namespace ScanNetworks +namespace ScanNetworksResponse { enum class Fields { - kStatus = 0, - kDelayedActionTime = 1, - kImageURI = 2, - kSoftwareVersion = 3, - kSoftwareVersionString = 4, - kUpdateToken = 5, - kUserConsentNeeded = 6, - kMetadataForRequestor = 7, + kNetworkingStatus = 0, + kDebugText = 1, + kWiFiScanResults = 2, + kThreadScanResults = 3, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::QueryImageResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + static constexpr CommandId GetCommandId() { return Commands::ScanNetworksResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - OTAQueryStatus status = static_cast(0); - Optional delayedActionTime; - Optional imageURI; - Optional softwareVersion; - Optional softwareVersionString; - Optional updateToken; - Optional userConsentNeeded; - Optional metadataForRequestor; + NetworkCommissioningStatus networkingStatus = static_cast(0); + Optional debugText; + Optional> wiFiScanResults; + Optional> threadScanResults; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -8245,40 +6943,38 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::QueryImageResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + static constexpr CommandId GetCommandId() { return Commands::ScanNetworksResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - OTAQueryStatus status = static_cast(0); - Optional delayedActionTime; - Optional imageURI; - Optional softwareVersion; - Optional softwareVersionString; - Optional updateToken; - Optional userConsentNeeded; - Optional metadataForRequestor; + NetworkCommissioningStatus networkingStatus = static_cast(0); + Optional debugText; + Optional> wiFiScanResults; + Optional> threadScanResults; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace QueryImageResponse -namespace ApplyUpdateRequest { +}; // namespace ScanNetworksResponse +namespace AddOrUpdateWiFiNetwork { enum class Fields { - kUpdateToken = 0, - kNewVersion = 1, + kSsid = 0, + kCredentials = 1, + kBreadcrumb = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ApplyUpdateRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + static constexpr CommandId GetCommandId() { return Commands::AddOrUpdateWiFiNetwork::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - chip::ByteSpan updateToken; - uint32_t newVersion = static_cast(0); + chip::ByteSpan ssid; + chip::ByteSpan credentials; + Optional breadcrumb; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::OtaSoftwareUpdateProvider::Commands::ApplyUpdateResponse::DecodableType; + using ResponseType = Clusters::NetworkCommissioning::Commands::NetworkConfigResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -8286,34 +6982,35 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::ApplyUpdateRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + static constexpr CommandId GetCommandId() { return Commands::AddOrUpdateWiFiNetwork::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - chip::ByteSpan updateToken; - uint32_t newVersion = static_cast(0); + chip::ByteSpan ssid; + chip::ByteSpan credentials; + Optional breadcrumb; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace ApplyUpdateRequest -namespace ApplyUpdateResponse { +}; // namespace AddOrUpdateWiFiNetwork +namespace AddOrUpdateThreadNetwork { enum class Fields { - kAction = 0, - kDelayedActionTime = 1, + kOperationalDataset = 0, + kBreadcrumb = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ApplyUpdateResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + static constexpr CommandId GetCommandId() { return Commands::AddOrUpdateThreadNetwork::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - OTAApplyUpdateAction action = static_cast(0); - uint32_t delayedActionTime = static_cast(0); + chip::ByteSpan operationalDataset; + Optional breadcrumb; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = DataModel::NullObjectType; + using ResponseType = Clusters::NetworkCommissioning::Commands::NetworkConfigResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -8321,34 +7018,34 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::ApplyUpdateResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + static constexpr CommandId GetCommandId() { return Commands::AddOrUpdateThreadNetwork::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - OTAApplyUpdateAction action = static_cast(0); - uint32_t delayedActionTime = static_cast(0); + chip::ByteSpan operationalDataset; + Optional breadcrumb; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace ApplyUpdateResponse -namespace NotifyUpdateApplied { +}; // namespace AddOrUpdateThreadNetwork +namespace RemoveNetwork { enum class Fields { - kUpdateToken = 0, - kSoftwareVersion = 1, + kNetworkID = 0, + kBreadcrumb = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::NotifyUpdateApplied::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + static constexpr CommandId GetCommandId() { return Commands::RemoveNetwork::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - chip::ByteSpan updateToken; - uint32_t softwareVersion = static_cast(0); + chip::ByteSpan networkID; + Optional breadcrumb; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = DataModel::NullObjectType; + using ResponseType = Clusters::NetworkCommissioning::Commands::NetworkConfigResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -8356,136 +7053,105 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::NotifyUpdateApplied::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + static constexpr CommandId GetCommandId() { return Commands::RemoveNetwork::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - chip::ByteSpan updateToken; - uint32_t softwareVersion = static_cast(0); + chip::ByteSpan networkID; + Optional breadcrumb; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace NotifyUpdateApplied -} // namespace Commands - -namespace Attributes { - -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +}; // namespace RemoveNetwork +namespace NetworkConfigResponse { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + kNetworkingStatus = 0, + kDebugText = 1, + kNetworkIndex = 2, }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::NetworkConfigResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + + NetworkCommissioningStatus networkingStatus = static_cast(0); + Optional debugText; + Optional networkIndex; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace ClusterRevision -struct TypeInfo +struct DecodableType { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +public: + static constexpr CommandId GetCommandId() { return Commands::NetworkConfigResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + NetworkCommissioningStatus networkingStatus = static_cast(0); + Optional debugText; + Optional networkIndex; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Attributes -} // namespace OtaSoftwareUpdateProvider -namespace OtaSoftwareUpdateRequestor { -namespace Structs { -namespace ProviderLocation { +}; // namespace NetworkConfigResponse +namespace ConnectNetwork { enum class Fields { - kProviderNodeID = 1, - kEndpoint = 2, - kFabricIndex = 254, + kNetworkID = 0, + kBreadcrumb = 1, }; struct Type { public: - chip::NodeId providerNodeID = static_cast(0); - chip::EndpointId endpoint = static_cast(0); - chip::FabricIndex fabricIndex = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = true; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ConnectNetwork::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - auto GetFabricIndex() const { return fabricIndex; } + chip::ByteSpan networkID; + Optional breadcrumb; - void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - CHIP_ERROR EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const; - CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const; + using ResponseType = Clusters::NetworkCommissioning::Commands::ConnectNetworkResponse::DecodableType; -private: - CHIP_ERROR DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const; + static constexpr bool MustUseTimedInvoke() { return false; } }; -using DecodableType = Type; - -} // namespace ProviderLocation -} // namespace Structs - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace AnnounceOtaProvider { -struct Type; -struct DecodableType; -} // namespace AnnounceOtaProvider - -} // namespace Commands +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::ConnectNetwork::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } -namespace Commands { -namespace AnnounceOtaProvider { + chip::ByteSpan networkID; + Optional breadcrumb; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace ConnectNetwork +namespace ConnectNetworkResponse { enum class Fields { - kProviderNodeId = 0, - kVendorId = 1, - kAnnouncementReason = 2, - kMetadataForNode = 3, - kEndpoint = 4, + kNetworkingStatus = 0, + kDebugText = 1, + kErrorValue = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::AnnounceOtaProvider::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr CommandId GetCommandId() { return Commands::ConnectNetworkResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - chip::NodeId providerNodeId = static_cast(0); - chip::VendorId vendorId = static_cast(0); - OTAAnnouncementReason announcementReason = static_cast(0); - Optional metadataForNode; - chip::EndpointId endpoint = static_cast(0); + NetworkCommissioningStatus networkingStatus = static_cast(0); + Optional debugText; + DataModel::Nullable errorValue; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -8497,99 +7163,185 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::AnnounceOtaProvider::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr CommandId GetCommandId() { return Commands::ConnectNetworkResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - chip::NodeId providerNodeId = static_cast(0); - chip::VendorId vendorId = static_cast(0); - OTAAnnouncementReason announcementReason = static_cast(0); - Optional metadataForNode; - chip::EndpointId endpoint = static_cast(0); + NetworkCommissioningStatus networkingStatus = static_cast(0); + Optional debugText; + DataModel::Nullable errorValue; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace AnnounceOtaProvider -} // namespace Commands - -namespace Attributes { +}; // namespace ConnectNetworkResponse +namespace ReorderNetwork { +enum class Fields +{ + kNetworkID = 0, + kNetworkIndex = 1, + kBreadcrumb = 2, +}; -namespace DefaultOtaProviders { +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ReorderNetwork::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + + chip::ByteSpan networkID; + uint8_t networkIndex = static_cast(0); + Optional breadcrumb; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::NetworkCommissioning::Commands::NetworkConfigResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::ReorderNetwork::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + + chip::ByteSpan networkID; + uint8_t networkIndex = static_cast(0); + Optional breadcrumb; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace ReorderNetwork +} // namespace Commands + +namespace Attributes { + +namespace MaxNetworks { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList< - chip::app::Clusters::OtaSoftwareUpdateRequestor::Structs::ProviderLocation::DecodableType>; - using DecodableArgType = const chip::app::DataModel::DecodableList< - chip::app::Clusters::OtaSoftwareUpdateRequestor::Structs::ProviderLocation::DecodableType> &; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DefaultOtaProviders::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxNetworks::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace DefaultOtaProviders -namespace UpdatePossible { +} // namespace MaxNetworks +namespace Networks { +struct TypeInfo +{ + using Type = chip::app::DataModel::List; + using DecodableType = + chip::app::DataModel::DecodableList; + using DecodableArgType = + const chip::app::DataModel::DecodableList &; + + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Networks::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace Networks +namespace ScanMaxTimeSeconds { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ScanMaxTimeSeconds::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ScanMaxTimeSeconds +namespace ConnectMaxTimeSeconds { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ConnectMaxTimeSeconds::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ConnectMaxTimeSeconds +namespace InterfaceEnabled { struct TypeInfo { using Type = bool; using DecodableType = bool; using DecodableArgType = bool; - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::UpdatePossible::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::InterfaceEnabled::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace UpdatePossible -namespace UpdateState { +} // namespace InterfaceEnabled +namespace LastNetworkingStatus { struct TypeInfo { - using Type = chip::app::Clusters::OtaSoftwareUpdateRequestor::OTAUpdateStateEnum; - using DecodableType = chip::app::Clusters::OtaSoftwareUpdateRequestor::OTAUpdateStateEnum; - using DecodableArgType = chip::app::Clusters::OtaSoftwareUpdateRequestor::OTAUpdateStateEnum; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = + const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::UpdateState::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LastNetworkingStatus::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace UpdateState -namespace UpdateStateProgress { +} // namespace LastNetworkingStatus +namespace LastNetworkID { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::UpdateStateProgress::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LastNetworkID::Id; } static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 32; } }; -} // namespace UpdateStateProgress +} // namespace LastNetworkID +namespace LastConnectErrorValue { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LastConnectErrorValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace LastConnectErrorValue namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } }; } // namespace ClusterRevision @@ -8597,15 +7349,18 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::DefaultOtaProviders::TypeInfo::DecodableType defaultOtaProviders; - Attributes::UpdatePossible::TypeInfo::DecodableType updatePossible = static_cast(0); - Attributes::UpdateState::TypeInfo::DecodableType updateState = - static_cast(0); - Attributes::UpdateStateProgress::TypeInfo::DecodableType updateStateProgress; + Attributes::MaxNetworks::TypeInfo::DecodableType maxNetworks = static_cast(0); + Attributes::Networks::TypeInfo::DecodableType networks; + Attributes::ScanMaxTimeSeconds::TypeInfo::DecodableType scanMaxTimeSeconds = static_cast(0); + Attributes::ConnectMaxTimeSeconds::TypeInfo::DecodableType connectMaxTimeSeconds = static_cast(0); + Attributes::InterfaceEnabled::TypeInfo::DecodableType interfaceEnabled = static_cast(0); + Attributes::LastNetworkingStatus::TypeInfo::DecodableType lastNetworkingStatus; + Attributes::LastNetworkID::TypeInfo::DecodableType lastNetworkID; + Attributes::LastConnectErrorValue::TypeInfo::DecodableType lastConnectErrorValue; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -8614,186 +7369,136 @@ struct TypeInfo }; }; } // namespace Attributes -namespace Events { -namespace StateTransition { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; +} // namespace NetworkCommissioning +namespace DiagnosticLogs { +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace RetrieveLogsRequest { +struct Type; +struct DecodableType; +} // namespace RetrieveLogsRequest + +namespace RetrieveLogsResponse { +struct Type; +struct DecodableType; +} // namespace RetrieveLogsResponse + +} // namespace Commands + +namespace Commands { +namespace RetrieveLogsRequest { enum class Fields { - kPreviousState = 0, - kNewState = 1, - kReason = 2, - kTargetSoftwareVersion = 3, + kIntent = 0, + kRequestedProtocol = 1, + kTransferFileDesignator = 2, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::StateTransition::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } - static constexpr bool kIsFabricScoped = false; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::RetrieveLogsRequest::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } - OTAUpdateStateEnum previousState = static_cast(0); - OTAUpdateStateEnum newState = static_cast(0); - OTAChangeReasonEnum reason = static_cast(0); - DataModel::Nullable targetSoftwareVersion; + LogsIntent intent = static_cast(0); + LogsTransferProtocol requestedProtocol = static_cast(0); + chip::ByteSpan transferFileDesignator; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::DiagnosticLogs::Commands::RetrieveLogsResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::StateTransition::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } - - OTAUpdateStateEnum previousState = static_cast(0); - OTAUpdateStateEnum newState = static_cast(0); - OTAChangeReasonEnum reason = static_cast(0); - DataModel::Nullable targetSoftwareVersion; + static constexpr CommandId GetCommandId() { return Commands::RetrieveLogsRequest::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } + LogsIntent intent = static_cast(0); + LogsTransferProtocol requestedProtocol = static_cast(0); + chip::ByteSpan transferFileDesignator; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace StateTransition -namespace VersionApplied { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; - +}; // namespace RetrieveLogsRequest +namespace RetrieveLogsResponse { enum class Fields { - kSoftwareVersion = 0, - kProductID = 1, + kStatus = 0, + kContent = 1, + kTimeStamp = 2, + kTimeSinceBoot = 3, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::VersionApplied::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } - static constexpr bool kIsFabricScoped = false; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::RetrieveLogsResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } - uint32_t softwareVersion = static_cast(0); - uint16_t productID = static_cast(0); + LogsStatus status = static_cast(0); + chip::ByteSpan content; + uint32_t timeStamp = static_cast(0); + uint32_t timeSinceBoot = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::VersionApplied::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } - - uint32_t softwareVersion = static_cast(0); - uint16_t productID = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace VersionApplied -namespace DownloadError { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ - kSoftwareVersion = 0, - kBytesDownloaded = 1, - kProgressPercent = 2, - kPlatformCode = 3, -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::DownloadError::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } - static constexpr bool kIsFabricScoped = false; - uint32_t softwareVersion = static_cast(0); - uint64_t bytesDownloaded = static_cast(0); - DataModel::Nullable progressPercent; - DataModel::Nullable platformCode; + using ResponseType = DataModel::NullObjectType; - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::DownloadError::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } - - uint32_t softwareVersion = static_cast(0); - uint64_t bytesDownloaded = static_cast(0); - DataModel::Nullable progressPercent; - DataModel::Nullable platformCode; + static constexpr CommandId GetCommandId() { return Commands::RetrieveLogsResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } + LogsStatus status = static_cast(0); + chip::ByteSpan content; + uint32_t timeStamp = static_cast(0); + uint32_t timeSinceBoot = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace DownloadError -} // namespace Events -} // namespace OtaSoftwareUpdateRequestor -namespace LocalizationConfiguration { +}; // namespace RetrieveLogsResponse +} // namespace Commands namespace Attributes { -namespace ActiveLocale { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::LocalizationConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ActiveLocale::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 35; } -}; -} // namespace ActiveLocale -namespace SupportedLocales { -struct TypeInfo -{ - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList &; - - static constexpr ClusterId GetClusterId() { return Clusters::LocalizationConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SupportedLocales::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace SupportedLocales namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::LocalizationConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::LocalizationConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::LocalizationConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::LocalizationConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::LocalizationConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } }; } // namespace ClusterRevision @@ -8801,12 +7506,10 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::LocalizationConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::ActiveLocale::TypeInfo::DecodableType activeLocale; - Attributes::SupportedLocales::TypeInfo::DecodableType supportedLocales; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -8815,210 +7518,247 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace LocalizationConfiguration -namespace TimeFormatLocalization { +} // namespace DiagnosticLogs +namespace GeneralDiagnostics { +namespace Structs { +namespace NetworkInterfaceType { +enum class Fields +{ + kName = 0, + kIsOperational = 1, + kOffPremiseServicesReachableIPv4 = 2, + kOffPremiseServicesReachableIPv6 = 3, + kHardwareAddress = 4, + kIPv4Addresses = 5, + kIPv6Addresses = 6, + kType = 7, +}; + +struct Type +{ +public: + chip::CharSpan name; + bool isOperational = static_cast(0); + DataModel::Nullable offPremiseServicesReachableIPv4; + DataModel::Nullable offPremiseServicesReachableIPv6; + chip::ByteSpan hardwareAddress; + DataModel::List IPv4Addresses; + DataModel::List IPv6Addresses; + InterfaceType type = static_cast(0); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +struct DecodableType +{ +public: + chip::CharSpan name; + bool isOperational = static_cast(0); + DataModel::Nullable offPremiseServicesReachableIPv4; + DataModel::Nullable offPremiseServicesReachableIPv6; + chip::ByteSpan hardwareAddress; + DataModel::DecodableList IPv4Addresses; + DataModel::DecodableList IPv6Addresses; + InterfaceType type = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; +}; + +} // namespace NetworkInterfaceType +} // namespace Structs + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace TestEventTrigger { +struct Type; +struct DecodableType; +} // namespace TestEventTrigger + +} // namespace Commands + +namespace Commands { +namespace TestEventTrigger { +enum class Fields +{ + kEnableKey = 0, + kEventTrigger = 1, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::TestEventTrigger::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + + chip::ByteSpan enableKey; + uint64_t eventTrigger = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::TestEventTrigger::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + + chip::ByteSpan enableKey; + uint64_t eventTrigger = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace TestEventTrigger +} // namespace Commands namespace Attributes { -namespace HourFormat { +namespace NetworkInterfaces { struct TypeInfo { - using Type = chip::app::Clusters::TimeFormatLocalization::HourFormat; - using DecodableType = chip::app::Clusters::TimeFormatLocalization::HourFormat; - using DecodableArgType = chip::app::Clusters::TimeFormatLocalization::HourFormat; + using Type = chip::app::DataModel::List; + using DecodableType = + chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::GeneralDiagnostics::Structs::NetworkInterfaceType::DecodableType> &; - static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::HourFormat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NetworkInterfaces::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace HourFormat -namespace ActiveCalendarType { +} // namespace NetworkInterfaces +namespace RebootCount { struct TypeInfo { - using Type = chip::app::Clusters::TimeFormatLocalization::CalendarType; - using DecodableType = chip::app::Clusters::TimeFormatLocalization::CalendarType; - using DecodableArgType = chip::app::Clusters::TimeFormatLocalization::CalendarType; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ActiveCalendarType::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RebootCount::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ActiveCalendarType -namespace SupportedCalendarTypes { +} // namespace RebootCount +namespace UpTime { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList &; + using Type = uint64_t; + using DecodableType = uint64_t; + using DecodableArgType = uint64_t; - static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SupportedCalendarTypes::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::UpTime::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace SupportedCalendarTypes -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +} // namespace UpTime +namespace TotalOperationalHours { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } -}; -} // namespace ClusterRevision + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TotalOperationalHours::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace TotalOperationalHours +namespace BootReasons { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::TimeFormatLocalization::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - Attributes::HourFormat::TypeInfo::DecodableType hourFormat = - static_cast(0); - Attributes::ActiveCalendarType::TypeInfo::DecodableType activeCalendarType = - static_cast(0); - Attributes::SupportedCalendarTypes::TypeInfo::DecodableType supportedCalendarTypes; - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BootReasons::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace TimeFormatLocalization -namespace UnitLocalization { - -namespace Attributes { - -namespace TemperatureUnit { +} // namespace BootReasons +namespace ActiveHardwareFaults { struct TypeInfo { - using Type = chip::app::Clusters::UnitLocalization::TempUnit; - using DecodableType = chip::app::Clusters::UnitLocalization::TempUnit; - using DecodableArgType = chip::app::Clusters::UnitLocalization::TempUnit; + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList &; - static constexpr ClusterId GetClusterId() { return Clusters::UnitLocalization::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TemperatureUnit::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ActiveHardwareFaults::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace TemperatureUnit -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::UnitLocalization::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::UnitLocalization::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::UnitLocalization::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::UnitLocalization::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::UnitLocalization::Id; } -}; -} // namespace ClusterRevision - +} // namespace ActiveHardwareFaults +namespace ActiveRadioFaults { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::UnitLocalization::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList &; - Attributes::TemperatureUnit::TypeInfo::DecodableType temperatureUnit = - static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ActiveRadioFaults::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace UnitLocalization -namespace PowerSourceConfiguration { - -namespace Attributes { - -namespace Sources { +} // namespace ActiveRadioFaults +namespace ActiveNetworkFaults { struct TypeInfo { using Type = chip::app::DataModel::List; using DecodableType = chip::app::DataModel::DecodableList; using DecodableArgType = const chip::app::DataModel::DecodableList &; - static constexpr ClusterId GetClusterId() { return Clusters::PowerSourceConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Sources::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ActiveNetworkFaults::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Sources +} // namespace ActiveNetworkFaults +namespace TestEventTriggersEnabled { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TestEventTriggersEnabled::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace TestEventTriggersEnabled namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PowerSourceConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PowerSourceConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PowerSourceConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PowerSourceConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::PowerSourceConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } }; } // namespace ClusterRevision @@ -9026,11 +7766,19 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::PowerSourceConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::Sources::TypeInfo::DecodableType sources; + Attributes::NetworkInterfaces::TypeInfo::DecodableType networkInterfaces; + Attributes::RebootCount::TypeInfo::DecodableType rebootCount = static_cast(0); + Attributes::UpTime::TypeInfo::DecodableType upTime = static_cast(0); + Attributes::TotalOperationalHours::TypeInfo::DecodableType totalOperationalHours = static_cast(0); + Attributes::BootReasons::TypeInfo::DecodableType bootReasons = static_cast(0); + Attributes::ActiveHardwareFaults::TypeInfo::DecodableType activeHardwareFaults; + Attributes::ActiveRadioFaults::TypeInfo::DecodableType activeRadioFaults; + Attributes::ActiveNetworkFaults::TypeInfo::DecodableType activeNetworkFaults; + Attributes::TestEventTriggersEnabled::TypeInfo::DecodableType testEventTriggersEnabled = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -9039,10 +7787,10 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace PowerSourceConfiguration -namespace PowerSource { -namespace Structs { -namespace BatChargeFaultChangeType { +namespace Events { +namespace HardwareFaultChange { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; + enum class Fields { kCurrent = 0, @@ -9052,27 +7800,33 @@ enum class Fields struct Type { public: - DataModel::List current; - DataModel::List previous; - + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::HardwareFaultChange::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } static constexpr bool kIsFabricScoped = false; + DataModel::List current; + DataModel::List previous; + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; struct DecodableType { public: - DataModel::DecodableList current; - DataModel::DecodableList previous; + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::HardwareFaultChange::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } - CHIP_ERROR Decode(TLV::TLVReader & reader); + DataModel::DecodableList current; + DataModel::DecodableList previous; - static constexpr bool kIsFabricScoped = false; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; +} // namespace HardwareFaultChange +namespace RadioFaultChange { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; -} // namespace BatChargeFaultChangeType -namespace BatFaultChangeType { enum class Fields { kCurrent = 0, @@ -9082,27 +7836,33 @@ enum class Fields struct Type { public: - DataModel::List current; - DataModel::List previous; - + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::RadioFaultChange::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } static constexpr bool kIsFabricScoped = false; + DataModel::List current; + DataModel::List previous; + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; struct DecodableType { public: - DataModel::DecodableList current; - DataModel::DecodableList previous; + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::RadioFaultChange::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } - CHIP_ERROR Decode(TLV::TLVReader & reader); + DataModel::DecodableList current; + DataModel::DecodableList previous; - static constexpr bool kIsFabricScoped = false; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; +} // namespace RadioFaultChange +namespace NetworkFaultChange { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; -} // namespace BatFaultChangeType -namespace WiredFaultChangeType { enum class Fields { kCurrent = 0, @@ -9112,503 +7872,427 @@ enum class Fields struct Type { public: - DataModel::List current; - DataModel::List previous; - + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::NetworkFaultChange::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } static constexpr bool kIsFabricScoped = false; + DataModel::List current; + DataModel::List previous; + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; struct DecodableType { public: - DataModel::DecodableList current; - DataModel::DecodableList previous; + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::NetworkFaultChange::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } - CHIP_ERROR Decode(TLV::TLVReader & reader); + DataModel::DecodableList current; + DataModel::DecodableList previous; - static constexpr bool kIsFabricScoped = false; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; +} // namespace NetworkFaultChange +namespace BootReason { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; -} // namespace WiredFaultChangeType -} // namespace Structs +enum class Fields +{ + kBootReason = 0, +}; -namespace Attributes { - -namespace Status { -struct TypeInfo +struct Type { - using Type = chip::app::Clusters::PowerSource::PowerSourceStatus; - using DecodableType = chip::app::Clusters::PowerSource::PowerSourceStatus; - using DecodableArgType = chip::app::Clusters::PowerSource::PowerSourceStatus; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::BootReason::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Status::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + BootReasonType bootReason = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace Status -namespace Order { -struct TypeInfo + +struct DecodableType { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::BootReason::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Order::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + BootReasonType bootReason = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Order -namespace Description { -struct TypeInfo +} // namespace BootReason +} // namespace Events +} // namespace GeneralDiagnostics +namespace SoftwareDiagnostics { +namespace Structs { +namespace ThreadMetrics { +enum class Fields { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Description::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 60; } + kId = 0, + kName = 1, + kStackFreeCurrent = 2, + kStackFreeMinimum = 3, + kStackSize = 4, }; -} // namespace Description -namespace WiredAssessedInputVoltage { -struct TypeInfo + +struct Type { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +public: + uint64_t id = static_cast(0); + Optional name; + Optional stackFreeCurrent; + Optional stackFreeMinimum; + Optional stackSize; - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::WiredAssessedInputVoltage::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace WiredAssessedInputVoltage -namespace WiredAssessedInputFrequency { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::WiredAssessedInputFrequency::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +using DecodableType = Type; + +} // namespace ThreadMetrics +} // namespace Structs + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace ResetWatermarks { +struct Type; +struct DecodableType; +} // namespace ResetWatermarks + +} // namespace Commands + +namespace Commands { +namespace ResetWatermarks { +enum class Fields +{ }; -} // namespace WiredAssessedInputFrequency -namespace WiredCurrentType { -struct TypeInfo + +struct Type { - using Type = chip::app::Clusters::PowerSource::WiredCurrentType; - using DecodableType = chip::app::Clusters::PowerSource::WiredCurrentType; - using DecodableArgType = chip::app::Clusters::PowerSource::WiredCurrentType; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ResetWatermarks::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::WiredCurrentType::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace WiredCurrentType -namespace WiredAssessedCurrent { -struct TypeInfo + +struct DecodableType { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +public: + static constexpr CommandId GetCommandId() { return Commands::ResetWatermarks::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::WiredAssessedCurrent::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace WiredAssessedCurrent -namespace WiredNominalVoltage { +}; // namespace ResetWatermarks +} // namespace Commands + +namespace Attributes { + +namespace ThreadMetrics { struct TypeInfo { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; + using Type = chip::app::DataModel::List; + using DecodableType = + chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::SoftwareDiagnostics::Structs::ThreadMetrics::DecodableType> &; - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::WiredNominalVoltage::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ThreadMetrics::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace WiredNominalVoltage -namespace WiredMaximumCurrent { +} // namespace ThreadMetrics +namespace CurrentHeapFree { struct TypeInfo { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; + using Type = uint64_t; + using DecodableType = uint64_t; + using DecodableArgType = uint64_t; - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::WiredMaximumCurrent::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentHeapFree::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace WiredMaximumCurrent -namespace WiredPresent { +} // namespace CurrentHeapFree +namespace CurrentHeapUsed { struct TypeInfo { - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; + using Type = uint64_t; + using DecodableType = uint64_t; + using DecodableArgType = uint64_t; - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::WiredPresent::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentHeapUsed::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace WiredPresent -namespace ActiveWiredFaults { +} // namespace CurrentHeapUsed +namespace CurrentHeapHighWatermark { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList &; + using Type = uint64_t; + using DecodableType = uint64_t; + using DecodableArgType = uint64_t; - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ActiveWiredFaults::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentHeapHighWatermark::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ActiveWiredFaults -namespace BatVoltage { -struct TypeInfo +} // namespace CurrentHeapHighWatermark +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatVoltage::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } }; -} // namespace BatVoltage -namespace BatPercentRemaining { -struct TypeInfo +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatPercentRemaining::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } }; -} // namespace BatPercentRemaining -namespace BatTimeRemaining { -struct TypeInfo +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatTimeRemaining::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } }; -} // namespace BatTimeRemaining -namespace BatChargeLevel { -struct TypeInfo +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - using Type = chip::app::Clusters::PowerSource::BatChargeLevel; - using DecodableType = chip::app::Clusters::PowerSource::BatChargeLevel; - using DecodableArgType = chip::app::Clusters::PowerSource::BatChargeLevel; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatChargeLevel::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } }; -} // namespace BatChargeLevel -namespace BatReplacementNeeded { -struct TypeInfo +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatReplacementNeeded::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } }; -} // namespace BatReplacementNeeded -namespace BatReplaceability { -struct TypeInfo -{ - using Type = chip::app::Clusters::PowerSource::BatReplaceability; - using DecodableType = chip::app::Clusters::PowerSource::BatReplaceability; - using DecodableArgType = chip::app::Clusters::PowerSource::BatReplaceability; +} // namespace ClusterRevision - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatReplaceability::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BatReplaceability -namespace BatPresent { struct TypeInfo { - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatPresent::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BatPresent -namespace ActiveBatFaults { -struct TypeInfo -{ - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList &; + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ActiveBatFaults::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + Attributes::ThreadMetrics::TypeInfo::DecodableType threadMetrics; + Attributes::CurrentHeapFree::TypeInfo::DecodableType currentHeapFree = static_cast(0); + Attributes::CurrentHeapUsed::TypeInfo::DecodableType currentHeapUsed = static_cast(0); + Attributes::CurrentHeapHighWatermark::TypeInfo::DecodableType currentHeapHighWatermark = static_cast(0); + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; -} // namespace ActiveBatFaults -namespace BatReplacementDescription { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; +} // namespace Attributes +namespace Events { +namespace SoftwareFault { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatReplacementDescription::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 60; } -}; -} // namespace BatReplacementDescription -namespace BatCommonDesignation { -struct TypeInfo +enum class Fields { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatCommonDesignation::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kId = 0, + kName = 1, + kFaultRecording = 2, }; -} // namespace BatCommonDesignation -namespace BatANSIDesignation { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatANSIDesignation::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 20; } -}; -} // namespace BatANSIDesignation -namespace BatIECDesignation { -struct TypeInfo +struct Type { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::SoftwareFault::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatIECDesignation::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 20; } -}; -} // namespace BatIECDesignation -namespace BatApprovedChemistry { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; + uint64_t id = static_cast(0); + Optional name; + Optional faultRecording; - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatApprovedChemistry::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace BatApprovedChemistry -namespace BatCapacity { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatCapacity::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BatCapacity -namespace BatQuantity { -struct TypeInfo +struct DecodableType { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::SoftwareFault::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatQuantity::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BatQuantity -namespace BatChargeState { -struct TypeInfo -{ - using Type = chip::app::Clusters::PowerSource::BatChargeState; - using DecodableType = chip::app::Clusters::PowerSource::BatChargeState; - using DecodableArgType = chip::app::Clusters::PowerSource::BatChargeState; + uint64_t id = static_cast(0); + Optional name; + Optional faultRecording; - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatChargeState::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace BatChargeState -namespace BatTimeToFullCharge { -struct TypeInfo +} // namespace SoftwareFault +} // namespace Events +} // namespace SoftwareDiagnostics +namespace ThreadNetworkDiagnostics { +namespace Structs { +namespace NeighborTable { +enum class Fields { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatTimeToFullCharge::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kExtAddress = 0, + kAge = 1, + kRloc16 = 2, + kLinkFrameCounter = 3, + kMleFrameCounter = 4, + kLqi = 5, + kAverageRssi = 6, + kLastRssi = 7, + kFrameErrorRate = 8, + kMessageErrorRate = 9, + kRxOnWhenIdle = 10, + kFullThreadDevice = 11, + kFullNetworkData = 12, + kIsChild = 13, }; -} // namespace BatTimeToFullCharge -namespace BatFunctionalWhileCharging { -struct TypeInfo -{ - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatFunctionalWhileCharging::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BatFunctionalWhileCharging -namespace BatChargingCurrent { -struct TypeInfo +struct Type { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +public: + uint64_t extAddress = static_cast(0); + uint32_t age = static_cast(0); + uint16_t rloc16 = static_cast(0); + uint32_t linkFrameCounter = static_cast(0); + uint32_t mleFrameCounter = static_cast(0); + uint8_t lqi = static_cast(0); + DataModel::Nullable averageRssi; + DataModel::Nullable lastRssi; + uint8_t frameErrorRate = static_cast(0); + uint8_t messageErrorRate = static_cast(0); + bool rxOnWhenIdle = static_cast(0); + bool fullThreadDevice = static_cast(0); + bool fullNetworkData = static_cast(0); + bool isChild = static_cast(0); - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BatChargingCurrent::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BatChargingCurrent -namespace ActiveBatChargeFaults { -struct TypeInfo -{ - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList &; + CHIP_ERROR Decode(TLV::TLVReader & reader); - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ActiveBatChargeFaults::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ActiveBatChargeFaults -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +using DecodableType = Type; + +} // namespace NeighborTable +namespace OperationalDatasetComponents { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + kActiveTimestampPresent = 0, + kPendingTimestampPresent = 1, + kMasterKeyPresent = 2, + kNetworkNamePresent = 3, + kExtendedPanIdPresent = 4, + kMeshLocalPrefixPresent = 5, + kDelayPresent = 6, + kPanIdPresent = 7, + kChannelPresent = 8, + kPskcPresent = 9, + kSecurityPolicyPresent = 10, + kChannelMaskPresent = 11, }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } +public: + bool activeTimestampPresent = static_cast(0); + bool pendingTimestampPresent = static_cast(0); + bool masterKeyPresent = static_cast(0); + bool networkNamePresent = static_cast(0); + bool extendedPanIdPresent = static_cast(0); + bool meshLocalPrefixPresent = static_cast(0); + bool delayPresent = static_cast(0); + bool panIdPresent = static_cast(0); + bool channelPresent = static_cast(0); + bool pskcPresent = static_cast(0); + bool securityPolicyPresent = static_cast(0); + bool channelMaskPresent = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo + +using DecodableType = Type; + +} // namespace OperationalDatasetComponents +namespace RouteTable { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + kExtAddress = 0, + kRloc16 = 1, + kRouterId = 2, + kNextHop = 3, + kPathCost = 4, + kLQIIn = 5, + kLQIOut = 6, + kAge = 7, + kAllocated = 8, + kLinkEstablished = 9, }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } +public: + uint64_t extAddress = static_cast(0); + uint16_t rloc16 = static_cast(0); + uint8_t routerId = static_cast(0); + uint8_t nextHop = static_cast(0); + uint8_t pathCost = static_cast(0); + uint8_t LQIIn = static_cast(0); + uint8_t LQIOut = static_cast(0); + uint8_t age = static_cast(0); + bool allocated = static_cast(0); + bool linkEstablished = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + CHIP_ERROR Decode(TLV::TLVReader & reader); - Attributes::Status::TypeInfo::DecodableType status = static_cast(0); - Attributes::Order::TypeInfo::DecodableType order = static_cast(0); - Attributes::Description::TypeInfo::DecodableType description; - Attributes::WiredAssessedInputVoltage::TypeInfo::DecodableType wiredAssessedInputVoltage; - Attributes::WiredAssessedInputFrequency::TypeInfo::DecodableType wiredAssessedInputFrequency; - Attributes::WiredCurrentType::TypeInfo::DecodableType wiredCurrentType = - static_cast(0); - Attributes::WiredAssessedCurrent::TypeInfo::DecodableType wiredAssessedCurrent; - Attributes::WiredNominalVoltage::TypeInfo::DecodableType wiredNominalVoltage = static_cast(0); - Attributes::WiredMaximumCurrent::TypeInfo::DecodableType wiredMaximumCurrent = static_cast(0); - Attributes::WiredPresent::TypeInfo::DecodableType wiredPresent = static_cast(0); - Attributes::ActiveWiredFaults::TypeInfo::DecodableType activeWiredFaults; - Attributes::BatVoltage::TypeInfo::DecodableType batVoltage; - Attributes::BatPercentRemaining::TypeInfo::DecodableType batPercentRemaining; - Attributes::BatTimeRemaining::TypeInfo::DecodableType batTimeRemaining; - Attributes::BatChargeLevel::TypeInfo::DecodableType batChargeLevel = - static_cast(0); - Attributes::BatReplacementNeeded::TypeInfo::DecodableType batReplacementNeeded = static_cast(0); - Attributes::BatReplaceability::TypeInfo::DecodableType batReplaceability = - static_cast(0); - Attributes::BatPresent::TypeInfo::DecodableType batPresent = static_cast(0); - Attributes::ActiveBatFaults::TypeInfo::DecodableType activeBatFaults; - Attributes::BatReplacementDescription::TypeInfo::DecodableType batReplacementDescription; - Attributes::BatCommonDesignation::TypeInfo::DecodableType batCommonDesignation = static_cast(0); - Attributes::BatANSIDesignation::TypeInfo::DecodableType batANSIDesignation; - Attributes::BatIECDesignation::TypeInfo::DecodableType batIECDesignation; - Attributes::BatApprovedChemistry::TypeInfo::DecodableType batApprovedChemistry = static_cast(0); - Attributes::BatCapacity::TypeInfo::DecodableType batCapacity = static_cast(0); - Attributes::BatQuantity::TypeInfo::DecodableType batQuantity = static_cast(0); - Attributes::BatChargeState::TypeInfo::DecodableType batChargeState = - static_cast(0); - Attributes::BatTimeToFullCharge::TypeInfo::DecodableType batTimeToFullCharge; - Attributes::BatFunctionalWhileCharging::TypeInfo::DecodableType batFunctionalWhileCharging = static_cast(0); - Attributes::BatChargingCurrent::TypeInfo::DecodableType batChargingCurrent; - Attributes::ActiveBatChargeFaults::TypeInfo::DecodableType activeBatChargeFaults; - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace Attributes -} // namespace PowerSource -namespace GeneralCommissioning { -namespace Structs { -namespace BasicCommissioningInfo { + +using DecodableType = Type; + +} // namespace RouteTable +namespace SecurityPolicy { enum class Fields { - kFailSafeExpiryLengthSeconds = 0, - kMaxCumulativeFailsafeSeconds = 1, + kRotationTime = 0, + kFlags = 1, }; struct Type { public: - uint16_t failSafeExpiryLengthSeconds = static_cast(0); - uint16_t maxCumulativeFailsafeSeconds = static_cast(0); + uint16_t rotationTime = static_cast(0); + uint16_t flags = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); @@ -9619,65 +8303,35 @@ struct Type using DecodableType = Type; -} // namespace BasicCommissioningInfo +} // namespace SecurityPolicy } // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. -namespace ArmFailSafe { -struct Type; -struct DecodableType; -} // namespace ArmFailSafe - -namespace ArmFailSafeResponse { -struct Type; -struct DecodableType; -} // namespace ArmFailSafeResponse - -namespace SetRegulatoryConfig { -struct Type; -struct DecodableType; -} // namespace SetRegulatoryConfig - -namespace SetRegulatoryConfigResponse { -struct Type; -struct DecodableType; -} // namespace SetRegulatoryConfigResponse - -namespace CommissioningComplete { -struct Type; -struct DecodableType; -} // namespace CommissioningComplete - -namespace CommissioningCompleteResponse { +namespace ResetCounts { struct Type; struct DecodableType; -} // namespace CommissioningCompleteResponse +} // namespace ResetCounts } // namespace Commands namespace Commands { -namespace ArmFailSafe { +namespace ResetCounts { enum class Fields { - kExpiryLengthSeconds = 0, - kBreadcrumb = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ArmFailSafe::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } - - uint16_t expiryLengthSeconds = static_cast(0); - uint64_t breadcrumb = static_cast(0); + static constexpr CommandId GetCommandId() { return Commands::ResetCounts::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::GeneralCommissioning::Commands::ArmFailSafeResponse::DecodableType; + using ResponseType = DataModel::NullObjectType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -9685,913 +8339,813 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::ArmFailSafe::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + static constexpr CommandId GetCommandId() { return Commands::ResetCounts::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - uint16_t expiryLengthSeconds = static_cast(0); - uint64_t breadcrumb = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace ArmFailSafe -namespace ArmFailSafeResponse { -enum class Fields -{ - kErrorCode = 0, - kDebugText = 1, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ArmFailSafeResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } - - CommissioningError errorCode = static_cast(0); - chip::CharSpan debugText; +}; // namespace ResetCounts +} // namespace Commands - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +namespace Attributes { - using ResponseType = DataModel::NullObjectType; +namespace Channel { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Channel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace Channel +namespace RoutingRole { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::ArmFailSafeResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - CommissioningError errorCode = static_cast(0); - chip::CharSpan debugText; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace ArmFailSafeResponse -namespace SetRegulatoryConfig { -enum class Fields -{ - kNewRegulatoryConfig = 0, - kCountryCode = 1, - kBreadcrumb = 2, + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RoutingRole::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct Type +} // namespace RoutingRole +namespace NetworkName { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SetRegulatoryConfig::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } - - RegulatoryLocationType newRegulatoryConfig = static_cast(0); - chip::CharSpan countryCode; - uint64_t breadcrumb = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::GeneralCommissioning::Commands::SetRegulatoryConfigResponse::DecodableType; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NetworkName::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 16; } }; - -struct DecodableType +} // namespace NetworkName +namespace PanId { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::SetRegulatoryConfig::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - RegulatoryLocationType newRegulatoryConfig = static_cast(0); - chip::CharSpan countryCode; - uint64_t breadcrumb = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace SetRegulatoryConfig -namespace SetRegulatoryConfigResponse { -enum class Fields -{ - kErrorCode = 0, - kDebugText = 1, + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PanId::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct Type +} // namespace PanId +namespace ExtendedPanId { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SetRegulatoryConfigResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } - - CommissioningError errorCode = static_cast(0); - chip::CharSpan debugText; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ExtendedPanId::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace ExtendedPanId +namespace MeshLocalPrefix { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::SetRegulatoryConfigResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - CommissioningError errorCode = static_cast(0); - chip::CharSpan debugText; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace SetRegulatoryConfigResponse -namespace CommissioningComplete { -enum class Fields -{ + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MeshLocalPrefix::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 17; } }; - -struct Type +} // namespace MeshLocalPrefix +namespace OverrunCount { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::CommissioningComplete::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::GeneralCommissioning::Commands::CommissioningCompleteResponse::DecodableType; + using Type = uint64_t; + using DecodableType = uint64_t; + using DecodableArgType = uint64_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OverrunCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace OverrunCount +namespace NeighborTableList { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::CommissioningComplete::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + using Type = chip::app::DataModel::List; + using DecodableType = + chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::ThreadNetworkDiagnostics::Structs::NeighborTable::DecodableType> &; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace CommissioningComplete -namespace CommissioningCompleteResponse { -enum class Fields -{ - kErrorCode = 0, - kDebugText = 1, + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NeighborTableList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct Type +} // namespace NeighborTableList +namespace RouteTableList { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::CommissioningCompleteResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } - - CommissioningError errorCode = static_cast(0); - chip::CharSpan debugText; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = chip::app::DataModel::List; + using DecodableType = + chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::ThreadNetworkDiagnostics::Structs::RouteTable::DecodableType> &; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RouteTableList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace RouteTableList +namespace PartitionId { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::CommissioningCompleteResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - CommissioningError errorCode = static_cast(0); - chip::CharSpan debugText; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PartitionId::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace CommissioningCompleteResponse -} // namespace Commands - -namespace Attributes { - -namespace Breadcrumb { +} // namespace PartitionId +namespace Weighting { struct TypeInfo { - using Type = uint64_t; - using DecodableType = uint64_t; - using DecodableArgType = uint64_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Breadcrumb::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Weighting::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Breadcrumb -namespace BasicCommissioningInfo { +} // namespace Weighting +namespace DataVersion { struct TypeInfo { - using Type = chip::app::Clusters::GeneralCommissioning::Structs::BasicCommissioningInfo::Type; - using DecodableType = chip::app::Clusters::GeneralCommissioning::Structs::BasicCommissioningInfo::DecodableType; - using DecodableArgType = const chip::app::Clusters::GeneralCommissioning::Structs::BasicCommissioningInfo::DecodableType &; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BasicCommissioningInfo::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::DataVersion::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace BasicCommissioningInfo -namespace RegulatoryConfig { +} // namespace DataVersion +namespace StableDataVersion { struct TypeInfo { - using Type = chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType; - using DecodableType = chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType; - using DecodableArgType = chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RegulatoryConfig::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::StableDataVersion::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace RegulatoryConfig -namespace LocationCapability { +} // namespace StableDataVersion +namespace LeaderRouterId { struct TypeInfo { - using Type = chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType; - using DecodableType = chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType; - using DecodableArgType = chip::app::Clusters::GeneralCommissioning::RegulatoryLocationType; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LocationCapability::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LeaderRouterId::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace LocationCapability -namespace SupportsConcurrentConnection { +} // namespace LeaderRouterId +namespace DetachedRoleCount { struct TypeInfo { - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SupportsConcurrentConnection::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::DetachedRoleCount::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace SupportsConcurrentConnection -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +} // namespace DetachedRoleCount +namespace ChildRoleCount { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ChildRoleCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +} // namespace ChildRoleCount +namespace RouterRoleCount { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RouterRoleCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +} // namespace RouterRoleCount +namespace LeaderRoleCount { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LeaderRoleCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace LeaderRoleCount +namespace AttachAttemptCount { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::AttachAttemptCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace AttachAttemptCount +namespace PartitionIdChangeCount { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } -}; -} // namespace ClusterRevision + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PartitionIdChangeCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace PartitionIdChangeCount +namespace BetterPartitionAttachAttemptCount { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - Attributes::Breadcrumb::TypeInfo::DecodableType breadcrumb = static_cast(0); - Attributes::BasicCommissioningInfo::TypeInfo::DecodableType basicCommissioningInfo; - Attributes::RegulatoryConfig::TypeInfo::DecodableType regulatoryConfig = - static_cast(0); - Attributes::LocationCapability::TypeInfo::DecodableType locationCapability = - static_cast(0); - Attributes::SupportsConcurrentConnection::TypeInfo::DecodableType supportsConcurrentConnection = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BetterPartitionAttachAttemptCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace GeneralCommissioning -namespace NetworkCommissioning { -namespace Structs { -namespace NetworkInfo { -enum class Fields +} // namespace BetterPartitionAttachAttemptCount +namespace ParentChangeCount { +struct TypeInfo { - kNetworkID = 0, - kConnected = 1, -}; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ParentChangeCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ParentChangeCount +namespace TxTotalCount { +struct TypeInfo { -public: - chip::ByteSpan networkID; - bool connected = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxTotalCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -using DecodableType = Type; - -} // namespace NetworkInfo -namespace ThreadInterfaceScanResult { -enum class Fields +} // namespace TxTotalCount +namespace TxUnicastCount { +struct TypeInfo { - kPanId = 0, - kExtendedPanId = 1, - kNetworkName = 2, - kChannel = 3, - kVersion = 4, - kExtendedAddress = 5, - kRssi = 6, - kLqi = 7, -}; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxUnicastCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace TxUnicastCount +namespace TxBroadcastCount { +struct TypeInfo { -public: - uint16_t panId = static_cast(0); - uint64_t extendedPanId = static_cast(0); - chip::CharSpan networkName; - uint16_t channel = static_cast(0); - uint8_t version = static_cast(0); - chip::ByteSpan extendedAddress; - int8_t rssi = static_cast(0); - uint8_t lqi = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxBroadcastCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -using DecodableType = Type; - -} // namespace ThreadInterfaceScanResult -namespace WiFiInterfaceScanResult { -enum class Fields +} // namespace TxBroadcastCount +namespace TxAckRequestedCount { +struct TypeInfo { - kSecurity = 0, - kSsid = 1, - kBssid = 2, - kChannel = 3, - kWiFiBand = 4, - kRssi = 5, -}; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxAckRequestedCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace TxAckRequestedCount +namespace TxAckedCount { +struct TypeInfo { -public: - chip::BitMask security = static_cast>(0); - chip::ByteSpan ssid; - chip::ByteSpan bssid; - uint16_t channel = static_cast(0); - WiFiBand wiFiBand = static_cast(0); - int8_t rssi = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxAckedCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; +} // namespace TxAckedCount +namespace TxNoAckRequestedCount { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; -using DecodableType = Type; - -} // namespace WiFiInterfaceScanResult -} // namespace Structs - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace ScanNetworks { -struct Type; -struct DecodableType; -} // namespace ScanNetworks - -namespace ScanNetworksResponse { -struct Type; -struct DecodableType; -} // namespace ScanNetworksResponse - -namespace AddOrUpdateWiFiNetwork { -struct Type; -struct DecodableType; -} // namespace AddOrUpdateWiFiNetwork - -namespace AddOrUpdateThreadNetwork { -struct Type; -struct DecodableType; -} // namespace AddOrUpdateThreadNetwork - -namespace RemoveNetwork { -struct Type; -struct DecodableType; -} // namespace RemoveNetwork - -namespace NetworkConfigResponse { -struct Type; -struct DecodableType; -} // namespace NetworkConfigResponse - -namespace ConnectNetwork { -struct Type; -struct DecodableType; -} // namespace ConnectNetwork - -namespace ConnectNetworkResponse { -struct Type; -struct DecodableType; -} // namespace ConnectNetworkResponse - -namespace ReorderNetwork { -struct Type; -struct DecodableType; -} // namespace ReorderNetwork - -} // namespace Commands - -namespace Commands { -namespace ScanNetworks { -enum class Fields -{ - kSsid = 0, - kBreadcrumb = 1, + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxNoAckRequestedCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct Type +} // namespace TxNoAckRequestedCount +namespace TxDataCount { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ScanNetworks::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - - Optional> ssid; - Optional breadcrumb; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::NetworkCommissioning::Commands::ScanNetworksResponse::DecodableType; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxDataCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace TxDataCount +namespace TxDataPollCount { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::ScanNetworks::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - Optional> ssid; - Optional breadcrumb; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace ScanNetworks -namespace ScanNetworksResponse { -enum class Fields -{ - kNetworkingStatus = 0, - kDebugText = 1, - kWiFiScanResults = 2, - kThreadScanResults = 3, + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxDataPollCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct Type +} // namespace TxDataPollCount +namespace TxBeaconCount { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ScanNetworksResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - - NetworkCommissioningStatus networkingStatus = static_cast(0); - Optional debugText; - Optional> wiFiScanResults; - Optional> threadScanResults; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxBeaconCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace TxBeaconCount +namespace TxBeaconRequestCount { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::ScanNetworksResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - NetworkCommissioningStatus networkingStatus = static_cast(0); - Optional debugText; - Optional> wiFiScanResults; - Optional> threadScanResults; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxBeaconRequestCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace ScanNetworksResponse -namespace AddOrUpdateWiFiNetwork { -enum class Fields +} // namespace TxBeaconRequestCount +namespace TxOtherCount { +struct TypeInfo { - kSsid = 0, - kCredentials = 1, - kBreadcrumb = 2, -}; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxOtherCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace TxOtherCount +namespace TxRetryCount { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::AddOrUpdateWiFiNetwork::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - - chip::ByteSpan ssid; - chip::ByteSpan credentials; - Optional breadcrumb; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::NetworkCommissioning::Commands::NetworkConfigResponse::DecodableType; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxRetryCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace TxRetryCount +namespace TxDirectMaxRetryExpiryCount { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::AddOrUpdateWiFiNetwork::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - chip::ByteSpan ssid; - chip::ByteSpan credentials; - Optional breadcrumb; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxDirectMaxRetryExpiryCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace AddOrUpdateWiFiNetwork -namespace AddOrUpdateThreadNetwork { -enum class Fields +} // namespace TxDirectMaxRetryExpiryCount +namespace TxIndirectMaxRetryExpiryCount { +struct TypeInfo { - kOperationalDataset = 0, - kBreadcrumb = 1, -}; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxIndirectMaxRetryExpiryCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace TxIndirectMaxRetryExpiryCount +namespace TxErrCcaCount { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::AddOrUpdateThreadNetwork::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - - chip::ByteSpan operationalDataset; - Optional breadcrumb; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::NetworkCommissioning::Commands::NetworkConfigResponse::DecodableType; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxErrCcaCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace TxErrCcaCount +namespace TxErrAbortCount { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::AddOrUpdateThreadNetwork::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - chip::ByteSpan operationalDataset; - Optional breadcrumb; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxErrAbortCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace AddOrUpdateThreadNetwork -namespace RemoveNetwork { -enum class Fields +} // namespace TxErrAbortCount +namespace TxErrBusyChannelCount { +struct TypeInfo { - kNetworkID = 0, - kBreadcrumb = 1, -}; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxErrBusyChannelCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace TxErrBusyChannelCount +namespace RxTotalCount { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::RemoveNetwork::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - - chip::ByteSpan networkID; - Optional breadcrumb; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::NetworkCommissioning::Commands::NetworkConfigResponse::DecodableType; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RxTotalCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace RxTotalCount +namespace RxUnicastCount { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::RemoveNetwork::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - chip::ByteSpan networkID; - Optional breadcrumb; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RxUnicastCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace RemoveNetwork -namespace NetworkConfigResponse { -enum class Fields +} // namespace RxUnicastCount +namespace RxBroadcastCount { +struct TypeInfo { - kNetworkingStatus = 0, - kDebugText = 1, - kNetworkIndex = 2, -}; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RxBroadcastCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace RxBroadcastCount +namespace RxDataCount { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::NetworkConfigResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - - NetworkCommissioningStatus networkingStatus = static_cast(0); - Optional debugText; - Optional networkIndex; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RxDataCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace RxDataCount +namespace RxDataPollCount { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::NetworkConfigResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - NetworkCommissioningStatus networkingStatus = static_cast(0); - Optional debugText; - Optional networkIndex; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RxDataPollCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace NetworkConfigResponse -namespace ConnectNetwork { -enum class Fields +} // namespace RxDataPollCount +namespace RxBeaconCount { +struct TypeInfo { - kNetworkID = 0, - kBreadcrumb = 1, -}; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RxBeaconCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace RxBeaconCount +namespace RxBeaconRequestCount { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ConnectNetwork::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - - chip::ByteSpan networkID; - Optional breadcrumb; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::NetworkCommissioning::Commands::ConnectNetworkResponse::DecodableType; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RxBeaconRequestCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace RxBeaconRequestCount +namespace RxOtherCount { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::ConnectNetwork::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - chip::ByteSpan networkID; - Optional breadcrumb; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RxOtherCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace ConnectNetwork -namespace ConnectNetworkResponse { -enum class Fields +} // namespace RxOtherCount +namespace RxAddressFilteredCount { +struct TypeInfo { - kNetworkingStatus = 0, - kDebugText = 1, - kErrorValue = 2, -}; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RxAddressFilteredCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace RxAddressFilteredCount +namespace RxDestAddrFilteredCount { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ConnectNetworkResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - - NetworkCommissioningStatus networkingStatus = static_cast(0); - Optional debugText; - DataModel::Nullable errorValue; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RxDestAddrFilteredCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace RxDestAddrFilteredCount +namespace RxDuplicatedCount { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::ConnectNetworkResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - NetworkCommissioningStatus networkingStatus = static_cast(0); - Optional debugText; - DataModel::Nullable errorValue; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RxDuplicatedCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace ConnectNetworkResponse -namespace ReorderNetwork { -enum class Fields +} // namespace RxDuplicatedCount +namespace RxErrNoFrameCount { +struct TypeInfo { - kNetworkID = 0, - kNetworkIndex = 1, - kBreadcrumb = 2, -}; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ReorderNetwork::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - - chip::ByteSpan networkID; - uint8_t networkIndex = static_cast(0); - Optional breadcrumb; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::NetworkCommissioning::Commands::NetworkConfigResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RxErrNoFrameCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace RxErrNoFrameCount +namespace RxErrUnknownNeighborCount { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::ReorderNetwork::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - chip::ByteSpan networkID; - uint8_t networkIndex = static_cast(0); - Optional breadcrumb; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RxErrUnknownNeighborCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace ReorderNetwork -} // namespace Commands +} // namespace RxErrUnknownNeighborCount +namespace RxErrInvalidSrcAddrCount { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; -namespace Attributes { + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RxErrInvalidSrcAddrCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace RxErrInvalidSrcAddrCount +namespace RxErrSecCount { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; -namespace MaxNetworks { + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RxErrSecCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace RxErrSecCount +namespace RxErrFcsCount { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxNetworks::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RxErrFcsCount::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxNetworks -namespace Networks { +} // namespace RxErrFcsCount +namespace RxErrOtherCount { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = - chip::app::DataModel::DecodableList; - using DecodableArgType = - const chip::app::DataModel::DecodableList &; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Networks::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RxErrOtherCount::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Networks -namespace ScanMaxTimeSeconds { +} // namespace RxErrOtherCount +namespace ActiveTimestamp { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ScanMaxTimeSeconds::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ActiveTimestamp::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ScanMaxTimeSeconds -namespace ConnectMaxTimeSeconds { +} // namespace ActiveTimestamp +namespace PendingTimestamp { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ConnectMaxTimeSeconds::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PendingTimestamp::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ConnectMaxTimeSeconds -namespace InterfaceEnabled { +} // namespace PendingTimestamp +namespace Delay { struct TypeInfo { - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::InterfaceEnabled::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Delay::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace InterfaceEnabled -namespace LastNetworkingStatus { +} // namespace Delay +namespace SecurityPolicy { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = - const chip::app::DataModel::Nullable &; + using Type = chip::app::DataModel::Nullable; + using DecodableType = + chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable< + chip::app::Clusters::ThreadNetworkDiagnostics::Structs::SecurityPolicy::DecodableType> &; - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LastNetworkingStatus::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SecurityPolicy::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace LastNetworkingStatus -namespace LastNetworkID { +} // namespace SecurityPolicy +namespace ChannelMask { struct TypeInfo { using Type = chip::app::DataModel::Nullable; using DecodableType = chip::app::DataModel::Nullable; using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LastNetworkID::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ChannelMask::Id; } static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } + static constexpr size_t MaxLength() { return 4; } }; -} // namespace LastNetworkID -namespace LastConnectErrorValue { +} // namespace ChannelMask +namespace OperationalDatasetComponents { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = + chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable< + chip::app::Clusters::ThreadNetworkDiagnostics::Structs::OperationalDatasetComponents::DecodableType>; + using DecodableArgType = const chip::app::DataModel::Nullable< + chip::app::Clusters::ThreadNetworkDiagnostics::Structs::OperationalDatasetComponents::DecodableType> &; - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LastConnectErrorValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OperationalDatasetComponents::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace LastConnectErrorValue +} // namespace OperationalDatasetComponents +namespace ActiveNetworkFaultsList { +struct TypeInfo +{ + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = + const chip::app::DataModel::DecodableList &; + + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ActiveNetworkFaultsList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ActiveNetworkFaultsList namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } }; } // namespace ClusterRevision @@ -10599,167 +9153,74 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - - Attributes::MaxNetworks::TypeInfo::DecodableType maxNetworks = static_cast(0); - Attributes::Networks::TypeInfo::DecodableType networks; - Attributes::ScanMaxTimeSeconds::TypeInfo::DecodableType scanMaxTimeSeconds = static_cast(0); - Attributes::ConnectMaxTimeSeconds::TypeInfo::DecodableType connectMaxTimeSeconds = static_cast(0); - Attributes::InterfaceEnabled::TypeInfo::DecodableType interfaceEnabled = static_cast(0); - Attributes::LastNetworkingStatus::TypeInfo::DecodableType lastNetworkingStatus; - Attributes::LastNetworkID::TypeInfo::DecodableType lastNetworkID; - Attributes::LastConnectErrorValue::TypeInfo::DecodableType lastConnectErrorValue; - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace NetworkCommissioning -namespace DiagnosticLogs { - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace RetrieveLogsRequest { -struct Type; -struct DecodableType; -} // namespace RetrieveLogsRequest - -namespace RetrieveLogsResponse { -struct Type; -struct DecodableType; -} // namespace RetrieveLogsResponse - -} // namespace Commands - -namespace Commands { -namespace RetrieveLogsRequest { -enum class Fields -{ - kIntent = 0, - kRequestedProtocol = 1, - kTransferFileDesignator = 2, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::RetrieveLogsRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } - - LogsIntent intent = static_cast(0); - LogsTransferProtocol requestedProtocol = static_cast(0); - chip::ByteSpan transferFileDesignator; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::DiagnosticLogs::Commands::RetrieveLogsResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::RetrieveLogsRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } - - LogsIntent intent = static_cast(0); - LogsTransferProtocol requestedProtocol = static_cast(0); - chip::ByteSpan transferFileDesignator; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace RetrieveLogsRequest -namespace RetrieveLogsResponse { -enum class Fields -{ - kStatus = 0, - kContent = 1, - kTimeStamp = 2, - kTimeSinceBoot = 3, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::RetrieveLogsResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } - - LogsStatus status = static_cast(0); - chip::ByteSpan content; - uint32_t timeStamp = static_cast(0); - uint32_t timeSinceBoot = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::RetrieveLogsResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } - - LogsStatus status = static_cast(0); - chip::ByteSpan content; - uint32_t timeStamp = static_cast(0); - uint32_t timeSinceBoot = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace RetrieveLogsResponse -} // namespace Commands - -namespace Attributes { - -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } -}; -} // namespace ClusterRevision - -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + Attributes::Channel::TypeInfo::DecodableType channel; + Attributes::RoutingRole::TypeInfo::DecodableType routingRole; + Attributes::NetworkName::TypeInfo::DecodableType networkName; + Attributes::PanId::TypeInfo::DecodableType panId; + Attributes::ExtendedPanId::TypeInfo::DecodableType extendedPanId; + Attributes::MeshLocalPrefix::TypeInfo::DecodableType meshLocalPrefix; + Attributes::OverrunCount::TypeInfo::DecodableType overrunCount = static_cast(0); + Attributes::NeighborTableList::TypeInfo::DecodableType neighborTableList; + Attributes::RouteTableList::TypeInfo::DecodableType routeTableList; + Attributes::PartitionId::TypeInfo::DecodableType partitionId; + Attributes::Weighting::TypeInfo::DecodableType weighting; + Attributes::DataVersion::TypeInfo::DecodableType dataVersion; + Attributes::StableDataVersion::TypeInfo::DecodableType stableDataVersion; + Attributes::LeaderRouterId::TypeInfo::DecodableType leaderRouterId; + Attributes::DetachedRoleCount::TypeInfo::DecodableType detachedRoleCount = static_cast(0); + Attributes::ChildRoleCount::TypeInfo::DecodableType childRoleCount = static_cast(0); + Attributes::RouterRoleCount::TypeInfo::DecodableType routerRoleCount = static_cast(0); + Attributes::LeaderRoleCount::TypeInfo::DecodableType leaderRoleCount = static_cast(0); + Attributes::AttachAttemptCount::TypeInfo::DecodableType attachAttemptCount = static_cast(0); + Attributes::PartitionIdChangeCount::TypeInfo::DecodableType partitionIdChangeCount = static_cast(0); + Attributes::BetterPartitionAttachAttemptCount::TypeInfo::DecodableType betterPartitionAttachAttemptCount = + static_cast(0); + Attributes::ParentChangeCount::TypeInfo::DecodableType parentChangeCount = static_cast(0); + Attributes::TxTotalCount::TypeInfo::DecodableType txTotalCount = static_cast(0); + Attributes::TxUnicastCount::TypeInfo::DecodableType txUnicastCount = static_cast(0); + Attributes::TxBroadcastCount::TypeInfo::DecodableType txBroadcastCount = static_cast(0); + Attributes::TxAckRequestedCount::TypeInfo::DecodableType txAckRequestedCount = static_cast(0); + Attributes::TxAckedCount::TypeInfo::DecodableType txAckedCount = static_cast(0); + Attributes::TxNoAckRequestedCount::TypeInfo::DecodableType txNoAckRequestedCount = static_cast(0); + Attributes::TxDataCount::TypeInfo::DecodableType txDataCount = static_cast(0); + Attributes::TxDataPollCount::TypeInfo::DecodableType txDataPollCount = static_cast(0); + Attributes::TxBeaconCount::TypeInfo::DecodableType txBeaconCount = static_cast(0); + Attributes::TxBeaconRequestCount::TypeInfo::DecodableType txBeaconRequestCount = static_cast(0); + Attributes::TxOtherCount::TypeInfo::DecodableType txOtherCount = static_cast(0); + Attributes::TxRetryCount::TypeInfo::DecodableType txRetryCount = static_cast(0); + Attributes::TxDirectMaxRetryExpiryCount::TypeInfo::DecodableType txDirectMaxRetryExpiryCount = static_cast(0); + Attributes::TxIndirectMaxRetryExpiryCount::TypeInfo::DecodableType txIndirectMaxRetryExpiryCount = static_cast(0); + Attributes::TxErrCcaCount::TypeInfo::DecodableType txErrCcaCount = static_cast(0); + Attributes::TxErrAbortCount::TypeInfo::DecodableType txErrAbortCount = static_cast(0); + Attributes::TxErrBusyChannelCount::TypeInfo::DecodableType txErrBusyChannelCount = static_cast(0); + Attributes::RxTotalCount::TypeInfo::DecodableType rxTotalCount = static_cast(0); + Attributes::RxUnicastCount::TypeInfo::DecodableType rxUnicastCount = static_cast(0); + Attributes::RxBroadcastCount::TypeInfo::DecodableType rxBroadcastCount = static_cast(0); + Attributes::RxDataCount::TypeInfo::DecodableType rxDataCount = static_cast(0); + Attributes::RxDataPollCount::TypeInfo::DecodableType rxDataPollCount = static_cast(0); + Attributes::RxBeaconCount::TypeInfo::DecodableType rxBeaconCount = static_cast(0); + Attributes::RxBeaconRequestCount::TypeInfo::DecodableType rxBeaconRequestCount = static_cast(0); + Attributes::RxOtherCount::TypeInfo::DecodableType rxOtherCount = static_cast(0); + Attributes::RxAddressFilteredCount::TypeInfo::DecodableType rxAddressFilteredCount = static_cast(0); + Attributes::RxDestAddrFilteredCount::TypeInfo::DecodableType rxDestAddrFilteredCount = static_cast(0); + Attributes::RxDuplicatedCount::TypeInfo::DecodableType rxDuplicatedCount = static_cast(0); + Attributes::RxErrNoFrameCount::TypeInfo::DecodableType rxErrNoFrameCount = static_cast(0); + Attributes::RxErrUnknownNeighborCount::TypeInfo::DecodableType rxErrUnknownNeighborCount = static_cast(0); + Attributes::RxErrInvalidSrcAddrCount::TypeInfo::DecodableType rxErrInvalidSrcAddrCount = static_cast(0); + Attributes::RxErrSecCount::TypeInfo::DecodableType rxErrSecCount = static_cast(0); + Attributes::RxErrFcsCount::TypeInfo::DecodableType rxErrFcsCount = static_cast(0); + Attributes::RxErrOtherCount::TypeInfo::DecodableType rxErrOtherCount = static_cast(0); + Attributes::ActiveTimestamp::TypeInfo::DecodableType activeTimestamp; + Attributes::PendingTimestamp::TypeInfo::DecodableType pendingTimestamp; + Attributes::Delay::TypeInfo::DecodableType delay; + Attributes::SecurityPolicy::TypeInfo::DecodableType securityPolicy; + Attributes::ChannelMask::TypeInfo::DecodableType channelMask; + Attributes::OperationalDatasetComponents::TypeInfo::DecodableType operationalDatasetComponents; + Attributes::ActiveNetworkFaultsList::TypeInfo::DecodableType activeNetworkFaultsList; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -10768,86 +9229,66 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace DiagnosticLogs -namespace GeneralDiagnostics { -namespace Structs { -namespace NetworkInterfaceType { +namespace Events { +namespace ConnectionStatus { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + enum class Fields { - kName = 0, - kIsOperational = 1, - kOffPremiseServicesReachableIPv4 = 2, - kOffPremiseServicesReachableIPv6 = 3, - kHardwareAddress = 4, - kIPv4Addresses = 5, - kIPv6Addresses = 6, - kType = 7, + kConnectionStatus = 0, }; struct Type { public: - chip::CharSpan name; - bool isOperational = static_cast(0); - DataModel::Nullable offPremiseServicesReachableIPv4; - DataModel::Nullable offPremiseServicesReachableIPv6; - chip::ByteSpan hardwareAddress; - DataModel::List IPv4Addresses; - DataModel::List IPv6Addresses; - InterfaceType type = static_cast(0); - + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ConnectionStatus::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr bool kIsFabricScoped = false; + ThreadConnectionStatus connectionStatus = static_cast(0); + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; struct DecodableType { public: - chip::CharSpan name; - bool isOperational = static_cast(0); - DataModel::Nullable offPremiseServicesReachableIPv4; - DataModel::Nullable offPremiseServicesReachableIPv6; - chip::ByteSpan hardwareAddress; - DataModel::DecodableList IPv4Addresses; - DataModel::DecodableList IPv6Addresses; - InterfaceType type = static_cast(0); + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ConnectionStatus::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - CHIP_ERROR Decode(TLV::TLVReader & reader); + ThreadConnectionStatus connectionStatus = static_cast(0); - static constexpr bool kIsFabricScoped = false; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; - -} // namespace NetworkInterfaceType -} // namespace Structs +} // namespace ConnectionStatus +} // namespace Events +} // namespace ThreadNetworkDiagnostics +namespace WiFiNetworkDiagnostics { namespace Commands { // Forward-declarations so we can reference these later. -namespace TestEventTrigger { +namespace ResetCounts { struct Type; struct DecodableType; -} // namespace TestEventTrigger +} // namespace ResetCounts } // namespace Commands namespace Commands { -namespace TestEventTrigger { +namespace ResetCounts { enum class Fields { - kEnableKey = 0, - kEventTrigger = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::TestEventTrigger::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } - - chip::ByteSpan enableKey; - uint64_t eventTrigger = static_cast(0); + static constexpr CommandId GetCommandId() { return Commands::ResetCounts::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -10859,156 +9300,201 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::TestEventTrigger::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr CommandId GetCommandId() { return Commands::ResetCounts::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - chip::ByteSpan enableKey; - uint64_t eventTrigger = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace TestEventTrigger +}; // namespace ResetCounts } // namespace Commands namespace Attributes { -namespace NetworkInterfaces { +namespace Bssid { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = - chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList< - chip::app::Clusters::GeneralDiagnostics::Structs::NetworkInterfaceType::DecodableType> &; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NetworkInterfaces::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Bssid::Id; } static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 6; } }; -} // namespace NetworkInterfaces -namespace RebootCount { +} // namespace Bssid +namespace SecurityType { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RebootCount::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SecurityType::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace RebootCount -namespace UpTime { +} // namespace SecurityType +namespace WiFiVersion { struct TypeInfo { - using Type = uint64_t; - using DecodableType = uint64_t; - using DecodableArgType = uint64_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::UpTime::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::WiFiVersion::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace UpTime -namespace TotalOperationalHours { +} // namespace WiFiVersion +namespace ChannelNumber { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ChannelNumber::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ChannelNumber +namespace Rssi { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Rssi::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace Rssi +namespace BeaconLostCount { struct TypeInfo { using Type = uint32_t; using DecodableType = uint32_t; using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TotalOperationalHours::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BeaconLostCount::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace TotalOperationalHours -namespace BootReasons { +} // namespace BeaconLostCount +namespace BeaconRxCount { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BootReasons::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BeaconRxCount::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace BootReasons -namespace ActiveHardwareFaults { +} // namespace BeaconRxCount +namespace PacketMulticastRxCount { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList &; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ActiveHardwareFaults::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PacketMulticastRxCount::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ActiveHardwareFaults -namespace ActiveRadioFaults { +} // namespace PacketMulticastRxCount +namespace PacketMulticastTxCount { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList &; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ActiveRadioFaults::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PacketMulticastTxCount::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ActiveRadioFaults -namespace ActiveNetworkFaults { +} // namespace PacketMulticastTxCount +namespace PacketUnicastRxCount { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList &; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ActiveNetworkFaults::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PacketUnicastRxCount::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ActiveNetworkFaults -namespace TestEventTriggersEnabled { +} // namespace PacketUnicastRxCount +namespace PacketUnicastTxCount { struct TypeInfo { - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TestEventTriggersEnabled::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PacketUnicastTxCount::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace TestEventTriggersEnabled +} // namespace PacketUnicastTxCount +namespace CurrentMaxRate { +struct TypeInfo +{ + using Type = uint64_t; + using DecodableType = uint64_t; + using DecodableArgType = uint64_t; + + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentMaxRate::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace CurrentMaxRate +namespace OverrunCount { +struct TypeInfo +{ + using Type = uint64_t; + using DecodableType = uint64_t; + using DecodableArgType = uint64_t; + + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OverrunCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace OverrunCount namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } }; } // namespace ClusterRevision @@ -11016,19 +9502,23 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::NetworkInterfaces::TypeInfo::DecodableType networkInterfaces; - Attributes::RebootCount::TypeInfo::DecodableType rebootCount = static_cast(0); - Attributes::UpTime::TypeInfo::DecodableType upTime = static_cast(0); - Attributes::TotalOperationalHours::TypeInfo::DecodableType totalOperationalHours = static_cast(0); - Attributes::BootReasons::TypeInfo::DecodableType bootReasons = static_cast(0); - Attributes::ActiveHardwareFaults::TypeInfo::DecodableType activeHardwareFaults; - Attributes::ActiveRadioFaults::TypeInfo::DecodableType activeRadioFaults; - Attributes::ActiveNetworkFaults::TypeInfo::DecodableType activeNetworkFaults; - Attributes::TestEventTriggersEnabled::TypeInfo::DecodableType testEventTriggersEnabled = static_cast(0); + Attributes::Bssid::TypeInfo::DecodableType bssid; + Attributes::SecurityType::TypeInfo::DecodableType securityType; + Attributes::WiFiVersion::TypeInfo::DecodableType wiFiVersion; + Attributes::ChannelNumber::TypeInfo::DecodableType channelNumber; + Attributes::Rssi::TypeInfo::DecodableType rssi; + Attributes::BeaconLostCount::TypeInfo::DecodableType beaconLostCount = static_cast(0); + Attributes::BeaconRxCount::TypeInfo::DecodableType beaconRxCount = static_cast(0); + Attributes::PacketMulticastRxCount::TypeInfo::DecodableType packetMulticastRxCount = static_cast(0); + Attributes::PacketMulticastTxCount::TypeInfo::DecodableType packetMulticastTxCount = static_cast(0); + Attributes::PacketUnicastRxCount::TypeInfo::DecodableType packetUnicastRxCount = static_cast(0); + Attributes::PacketUnicastTxCount::TypeInfo::DecodableType packetUnicastTxCount = static_cast(0); + Attributes::CurrentMaxRate::TypeInfo::DecodableType currentMaxRate = static_cast(0); + Attributes::OverrunCount::TypeInfo::DecodableType overrunCount = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -11038,25 +9528,23 @@ struct TypeInfo }; } // namespace Attributes namespace Events { -namespace HardwareFaultChange { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; +namespace Disconnection { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; enum class Fields { - kCurrent = 0, - kPrevious = 1, + kReasonCode = 0, }; struct Type { public: static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::HardwareFaultChange::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr EventId GetEventId() { return Events::Disconnection::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } static constexpr bool kIsFabricScoped = false; - DataModel::List current; - DataModel::List previous; + uint16_t reasonCode = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -11065,34 +9553,33 @@ struct DecodableType { public: static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::HardwareFaultChange::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr EventId GetEventId() { return Events::Disconnection::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - DataModel::DecodableList current; - DataModel::DecodableList previous; + uint16_t reasonCode = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace HardwareFaultChange -namespace RadioFaultChange { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; +} // namespace Disconnection +namespace AssociationFailure { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; enum class Fields { - kCurrent = 0, - kPrevious = 1, + kAssociationFailure = 0, + kStatus = 1, }; struct Type { public: static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::RadioFaultChange::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr EventId GetEventId() { return Events::AssociationFailure::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } static constexpr bool kIsFabricScoped = false; - DataModel::List current; - DataModel::List previous; + AssociationFailureCause associationFailure = static_cast(0); + uint16_t status = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -11101,34 +9588,32 @@ struct DecodableType { public: static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::RadioFaultChange::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr EventId GetEventId() { return Events::AssociationFailure::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - DataModel::DecodableList current; - DataModel::DecodableList previous; + AssociationFailureCause associationFailure = static_cast(0); + uint16_t status = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace RadioFaultChange -namespace NetworkFaultChange { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; +} // namespace AssociationFailure +namespace ConnectionStatus { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; enum class Fields { - kCurrent = 0, - kPrevious = 1, + kConnectionStatus = 0, }; struct Type { public: static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::NetworkFaultChange::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr EventId GetEventId() { return Events::ConnectionStatus::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } static constexpr bool kIsFabricScoped = false; - DataModel::List current; - DataModel::List previous; + WiFiConnectionStatus connectionStatus = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -11137,95 +9622,30 @@ struct DecodableType { public: static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::NetworkFaultChange::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr EventId GetEventId() { return Events::ConnectionStatus::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - DataModel::DecodableList current; - DataModel::DecodableList previous; - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace NetworkFaultChange -namespace BootReason { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; - -enum class Fields -{ - kBootReason = 0, -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::BootReason::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } - static constexpr bool kIsFabricScoped = false; - - BootReasonType bootReason = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::BootReason::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } - - BootReasonType bootReason = static_cast(0); + WiFiConnectionStatus connectionStatus = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace BootReason +} // namespace ConnectionStatus } // namespace Events -} // namespace GeneralDiagnostics -namespace SoftwareDiagnostics { -namespace Structs { -namespace ThreadMetrics { -enum class Fields -{ - kId = 0, - kName = 1, - kStackFreeCurrent = 2, - kStackFreeMinimum = 3, - kStackSize = 4, -}; - -struct Type -{ -public: - uint64_t id = static_cast(0); - Optional name; - Optional stackFreeCurrent; - Optional stackFreeMinimum; - Optional stackSize; - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -using DecodableType = Type; - -} // namespace ThreadMetrics -} // namespace Structs +} // namespace WiFiNetworkDiagnostics +namespace EthernetNetworkDiagnostics { namespace Commands { // Forward-declarations so we can reference these later. -namespace ResetWatermarks { +namespace ResetCounts { struct Type; struct DecodableType; -} // namespace ResetWatermarks +} // namespace ResetCounts } // namespace Commands namespace Commands { -namespace ResetWatermarks { +namespace ResetCounts { enum class Fields { }; @@ -11234,8 +9654,8 @@ struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ResetWatermarks::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } + static constexpr CommandId GetCommandId() { return Commands::ResetCounts::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -11247,94 +9667,152 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::ResetWatermarks::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } + static constexpr CommandId GetCommandId() { return Commands::ResetCounts::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace ResetWatermarks +}; // namespace ResetCounts } // namespace Commands namespace Attributes { -namespace ThreadMetrics { +namespace PHYRate { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = - chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList< - chip::app::Clusters::SoftwareDiagnostics::Structs::ThreadMetrics::DecodableType> &; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ThreadMetrics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PHYRate::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ThreadMetrics -namespace CurrentHeapFree { +} // namespace PHYRate +namespace FullDuplex { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FullDuplex::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace FullDuplex +namespace PacketRxCount { struct TypeInfo { using Type = uint64_t; using DecodableType = uint64_t; using DecodableArgType = uint64_t; - static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentHeapFree::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PacketRxCount::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentHeapFree -namespace CurrentHeapUsed { +} // namespace PacketRxCount +namespace PacketTxCount { struct TypeInfo { using Type = uint64_t; using DecodableType = uint64_t; using DecodableArgType = uint64_t; - static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentHeapUsed::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PacketTxCount::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentHeapUsed -namespace CurrentHeapHighWatermark { +} // namespace PacketTxCount +namespace TxErrCount { struct TypeInfo { using Type = uint64_t; using DecodableType = uint64_t; using DecodableArgType = uint64_t; - static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentHeapHighWatermark::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TxErrCount::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentHeapHighWatermark +} // namespace TxErrCount +namespace CollisionCount { +struct TypeInfo +{ + using Type = uint64_t; + using DecodableType = uint64_t; + using DecodableArgType = uint64_t; + + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CollisionCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace CollisionCount +namespace OverrunCount { +struct TypeInfo +{ + using Type = uint64_t; + using DecodableType = uint64_t; + using DecodableArgType = uint64_t; + + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OverrunCount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace OverrunCount +namespace CarrierDetect { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CarrierDetect::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace CarrierDetect +namespace TimeSinceReset { +struct TypeInfo +{ + using Type = uint64_t; + using DecodableType = uint64_t; + using DecodableArgType = uint64_t; + + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TimeSinceReset::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace TimeSinceReset namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } }; } // namespace ClusterRevision @@ -11342,14 +9820,19 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::ThreadMetrics::TypeInfo::DecodableType threadMetrics; - Attributes::CurrentHeapFree::TypeInfo::DecodableType currentHeapFree = static_cast(0); - Attributes::CurrentHeapUsed::TypeInfo::DecodableType currentHeapUsed = static_cast(0); - Attributes::CurrentHeapHighWatermark::TypeInfo::DecodableType currentHeapHighWatermark = static_cast(0); + Attributes::PHYRate::TypeInfo::DecodableType PHYRate; + Attributes::FullDuplex::TypeInfo::DecodableType fullDuplex; + Attributes::PacketRxCount::TypeInfo::DecodableType packetRxCount = static_cast(0); + Attributes::PacketTxCount::TypeInfo::DecodableType packetTxCount = static_cast(0); + Attributes::TxErrCount::TypeInfo::DecodableType txErrCount = static_cast(0); + Attributes::CollisionCount::TypeInfo::DecodableType collisionCount = static_cast(0); + Attributes::OverrunCount::TypeInfo::DecodableType overrunCount = static_cast(0); + Attributes::CarrierDetect::TypeInfo::DecodableType carrierDetect; + Attributes::TimeSinceReset::TypeInfo::DecodableType timeSinceReset = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -11358,1177 +9841,871 @@ struct TypeInfo }; }; } // namespace Attributes -namespace Events { -namespace SoftwareFault { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; +} // namespace EthernetNetworkDiagnostics +namespace TimeSynchronization { -enum class Fields -{ - kId = 0, - kName = 1, - kFaultRecording = 2, -}; +namespace Attributes { -struct Type +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::SoftwareFault::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } - static constexpr bool kIsFabricScoped = false; - - uint64_t id = static_cast(0); - Optional name; - Optional faultRecording; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr ClusterId GetClusterId() { return Clusters::TimeSynchronization::Id; } }; - -struct DecodableType +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::SoftwareFault::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } - - uint64_t id = static_cast(0); - Optional name; - Optional faultRecording; - - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::TimeSynchronization::Id; } }; -} // namespace SoftwareFault -} // namespace Events -} // namespace SoftwareDiagnostics -namespace ThreadNetworkDiagnostics { -namespace Structs { -namespace NeighborTable { -enum class Fields +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - kExtAddress = 0, - kAge = 1, - kRloc16 = 2, - kLinkFrameCounter = 3, - kMleFrameCounter = 4, - kLqi = 5, - kAverageRssi = 6, - kLastRssi = 7, - kFrameErrorRate = 8, - kMessageErrorRate = 9, - kRxOnWhenIdle = 10, - kFullThreadDevice = 11, - kFullNetworkData = 12, - kIsChild = 13, + static constexpr ClusterId GetClusterId() { return Clusters::TimeSynchronization::Id; } }; - -struct Type +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { -public: - uint64_t extAddress = static_cast(0); - uint32_t age = static_cast(0); - uint16_t rloc16 = static_cast(0); - uint32_t linkFrameCounter = static_cast(0); - uint32_t mleFrameCounter = static_cast(0); - uint8_t lqi = static_cast(0); - DataModel::Nullable averageRssi; - DataModel::Nullable lastRssi; - uint8_t frameErrorRate = static_cast(0); - uint8_t messageErrorRate = static_cast(0); - bool rxOnWhenIdle = static_cast(0); - bool fullThreadDevice = static_cast(0); - bool fullNetworkData = static_cast(0); - bool isChild = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr ClusterId GetClusterId() { return Clusters::TimeSynchronization::Id; } }; - -using DecodableType = Type; - -} // namespace NeighborTable -namespace OperationalDatasetComponents { -enum class Fields +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - kActiveTimestampPresent = 0, - kPendingTimestampPresent = 1, - kMasterKeyPresent = 2, - kNetworkNamePresent = 3, - kExtendedPanIdPresent = 4, - kMeshLocalPrefixPresent = 5, - kDelayPresent = 6, - kPanIdPresent = 7, - kChannelPresent = 8, - kPskcPresent = 9, - kSecurityPolicyPresent = 10, - kChannelMaskPresent = 11, + static constexpr ClusterId GetClusterId() { return Clusters::TimeSynchronization::Id; } }; +} // namespace ClusterRevision -struct Type +struct TypeInfo { -public: - bool activeTimestampPresent = static_cast(0); - bool pendingTimestampPresent = static_cast(0); - bool masterKeyPresent = static_cast(0); - bool networkNamePresent = static_cast(0); - bool extendedPanIdPresent = static_cast(0); - bool meshLocalPrefixPresent = static_cast(0); - bool delayPresent = static_cast(0); - bool panIdPresent = static_cast(0); - bool channelPresent = static_cast(0); - bool pskcPresent = static_cast(0); - bool securityPolicyPresent = static_cast(0); - bool channelMaskPresent = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::TimeSynchronization::Id; } - static constexpr bool kIsFabricScoped = false; + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; +} // namespace Attributes +} // namespace TimeSynchronization +namespace BridgedDeviceBasic { -using DecodableType = Type; - -} // namespace OperationalDatasetComponents -namespace RouteTable { -enum class Fields -{ - kExtAddress = 0, - kRloc16 = 1, - kRouterId = 2, - kNextHop = 3, - kPathCost = 4, - kLQIIn = 5, - kLQIOut = 6, - kAge = 7, - kAllocated = 8, - kLinkEstablished = 9, -}; +namespace Attributes { -struct Type +namespace VendorName { +struct TypeInfo { -public: - uint64_t extAddress = static_cast(0); - uint16_t rloc16 = static_cast(0); - uint8_t routerId = static_cast(0); - uint8_t nextHop = static_cast(0); - uint8_t pathCost = static_cast(0); - uint8_t LQIIn = static_cast(0); - uint8_t LQIOut = static_cast(0); - uint8_t age = static_cast(0); - bool allocated = static_cast(0); - bool linkEstablished = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -using DecodableType = Type; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; -} // namespace RouteTable -namespace SecurityPolicy { -enum class Fields -{ - kRotationTime = 0, - kFlags = 1, + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::VendorName::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 32; } }; - -struct Type +} // namespace VendorName +namespace VendorID { +struct TypeInfo { -public: - uint16_t rotationTime = static_cast(0); - uint16_t flags = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -using DecodableType = Type; - -} // namespace SecurityPolicy -} // namespace Structs - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace ResetCounts { -struct Type; -struct DecodableType; -} // namespace ResetCounts - -} // namespace Commands + using Type = chip::VendorId; + using DecodableType = chip::VendorId; + using DecodableArgType = chip::VendorId; -namespace Commands { -namespace ResetCounts { -enum class Fields -{ + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::VendorID::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct Type +} // namespace VendorID +namespace ProductName { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ResetCounts::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ProductName::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 32; } }; - -struct DecodableType +} // namespace ProductName +namespace NodeLabel { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::ResetCounts::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NodeLabel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 32; } }; -}; // namespace ResetCounts -} // namespace Commands - -namespace Attributes { - -namespace Channel { +} // namespace NodeLabel +namespace HardwareVersion { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Channel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::HardwareVersion::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Channel -namespace RoutingRole { +} // namespace HardwareVersion +namespace HardwareVersionString { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RoutingRole::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::HardwareVersionString::Id; } static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 64; } }; -} // namespace RoutingRole -namespace NetworkName { +} // namespace HardwareVersionString +namespace SoftwareVersion { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NetworkName::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SoftwareVersion::Id; } static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } }; -} // namespace NetworkName -namespace PanId { +} // namespace SoftwareVersion +namespace SoftwareVersionString { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PanId::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SoftwareVersionString::Id; } static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 64; } }; -} // namespace PanId -namespace ExtendedPanId { +} // namespace SoftwareVersionString +namespace ManufacturingDate { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ExtendedPanId::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ManufacturingDate::Id; } static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 16; } }; -} // namespace ExtendedPanId -namespace MeshLocalPrefix { +} // namespace ManufacturingDate +namespace PartNumber { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeshLocalPrefix::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PartNumber::Id; } static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 17; } + static constexpr size_t MaxLength() { return 32; } }; -} // namespace MeshLocalPrefix -namespace OverrunCount { +} // namespace PartNumber +namespace ProductURL { struct TypeInfo { - using Type = uint64_t; - using DecodableType = uint64_t; - using DecodableArgType = uint64_t; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OverrunCount::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ProductURL::Id; } static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 256; } }; -} // namespace OverrunCount -namespace NeighborTableList { +} // namespace ProductURL +namespace ProductLabel { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = - chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList< - chip::app::Clusters::ThreadNetworkDiagnostics::Structs::NeighborTable::DecodableType> &; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NeighborTableList::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ProductLabel::Id; } static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 64; } }; -} // namespace NeighborTableList -namespace RouteTableList { +} // namespace ProductLabel +namespace SerialNumber { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = - chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList< - chip::app::Clusters::ThreadNetworkDiagnostics::Structs::RouteTable::DecodableType> &; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RouteTableList::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SerialNumber::Id; } static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 32; } }; -} // namespace RouteTableList -namespace PartitionId { +} // namespace SerialNumber +namespace Reachable { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PartitionId::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Reachable::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace PartitionId -namespace Weighting { +} // namespace Reachable +namespace UniqueID { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Weighting::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::UniqueID::Id; } static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 32; } }; -} // namespace Weighting -namespace DataVersion { -struct TypeInfo +} // namespace UniqueID +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DataVersion::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } }; -} // namespace DataVersion -namespace StableDataVersion { -struct TypeInfo +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::StableDataVersion::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } }; -} // namespace StableDataVersion -namespace LeaderRouterId { -struct TypeInfo +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LeaderRouterId::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } }; -} // namespace LeaderRouterId -namespace DetachedRoleCount { -struct TypeInfo +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DetachedRoleCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } }; -} // namespace DetachedRoleCount -namespace ChildRoleCount { -struct TypeInfo +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ChildRoleCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } }; -} // namespace ChildRoleCount -namespace RouterRoleCount { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +} // namespace ClusterRevision - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RouterRoleCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace RouterRoleCount -namespace LeaderRoleCount { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LeaderRoleCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace LeaderRoleCount -namespace AttachAttemptCount { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::AttachAttemptCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + Attributes::VendorName::TypeInfo::DecodableType vendorName; + Attributes::VendorID::TypeInfo::DecodableType vendorID = static_cast(0); + Attributes::ProductName::TypeInfo::DecodableType productName; + Attributes::NodeLabel::TypeInfo::DecodableType nodeLabel; + Attributes::HardwareVersion::TypeInfo::DecodableType hardwareVersion = static_cast(0); + Attributes::HardwareVersionString::TypeInfo::DecodableType hardwareVersionString; + Attributes::SoftwareVersion::TypeInfo::DecodableType softwareVersion = static_cast(0); + Attributes::SoftwareVersionString::TypeInfo::DecodableType softwareVersionString; + Attributes::ManufacturingDate::TypeInfo::DecodableType manufacturingDate; + Attributes::PartNumber::TypeInfo::DecodableType partNumber; + Attributes::ProductURL::TypeInfo::DecodableType productURL; + Attributes::ProductLabel::TypeInfo::DecodableType productLabel; + Attributes::SerialNumber::TypeInfo::DecodableType serialNumber; + Attributes::Reachable::TypeInfo::DecodableType reachable = static_cast(0); + Attributes::UniqueID::TypeInfo::DecodableType uniqueID; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; -} // namespace AttachAttemptCount -namespace PartitionIdChangeCount { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +} // namespace Attributes +namespace Events { +namespace StartUp { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PartitionIdChangeCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +enum class Fields +{ + kSoftwareVersion = 0, }; -} // namespace PartitionIdChangeCount -namespace BetterPartitionAttachAttemptCount { -struct TypeInfo + +struct Type { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::StartUp::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BetterPartitionAttachAttemptCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint32_t softwareVersion = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace BetterPartitionAttachAttemptCount -namespace ParentChangeCount { -struct TypeInfo + +struct DecodableType { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::StartUp::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ParentChangeCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint32_t softwareVersion = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace ParentChangeCount -namespace TxTotalCount { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +} // namespace StartUp +namespace ShutDown { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxTotalCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +enum class Fields +{ }; -} // namespace TxTotalCount -namespace TxUnicastCount { -struct TypeInfo + +struct Type { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ShutDown::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxUnicastCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace TxUnicastCount -namespace TxBroadcastCount { -struct TypeInfo + +struct DecodableType { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ShutDown::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxBroadcastCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace TxBroadcastCount -namespace TxAckRequestedCount { -struct TypeInfo +} // namespace ShutDown +namespace Leave { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + +enum class Fields { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +}; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxAckRequestedCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +struct Type +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::Leave::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace TxAckRequestedCount -namespace TxAckedCount { -struct TypeInfo + +struct DecodableType { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::Leave::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxAckedCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace TxAckedCount -namespace TxNoAckRequestedCount { -struct TypeInfo +} // namespace Leave +namespace ReachableChanged { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + +enum class Fields { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; + kReachableNewValue = 0, +}; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxNoAckRequestedCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +struct Type +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ReachableChanged::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr bool kIsFabricScoped = false; + + bool reachableNewValue = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace TxNoAckRequestedCount -namespace TxDataCount { -struct TypeInfo + +struct DecodableType { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ReachableChanged::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxDataCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + bool reachableNewValue = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace TxDataCount -namespace TxDataPollCount { +} // namespace ReachableChanged +} // namespace Events +} // namespace BridgedDeviceBasic +namespace Switch { + +namespace Attributes { + +namespace NumberOfPositions { struct TypeInfo { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxDataPollCount::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfPositions::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace TxDataPollCount -namespace TxBeaconCount { +} // namespace NumberOfPositions +namespace CurrentPosition { struct TypeInfo { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxBeaconCount::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPosition::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace TxBeaconCount -namespace TxBeaconRequestCount { +} // namespace CurrentPosition +namespace MultiPressMax { struct TypeInfo { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxBeaconRequestCount::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MultiPressMax::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace TxBeaconRequestCount -namespace TxOtherCount { -struct TypeInfo +} // namespace MultiPressMax +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxOtherCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } }; -} // namespace TxOtherCount -namespace TxRetryCount { -struct TypeInfo +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxRetryCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } }; -} // namespace TxRetryCount -namespace TxDirectMaxRetryExpiryCount { -struct TypeInfo +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxDirectMaxRetryExpiryCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } }; -} // namespace TxDirectMaxRetryExpiryCount -namespace TxIndirectMaxRetryExpiryCount { -struct TypeInfo +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxIndirectMaxRetryExpiryCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } }; -} // namespace TxIndirectMaxRetryExpiryCount -namespace TxErrCcaCount { -struct TypeInfo +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxErrCcaCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } }; -} // namespace TxErrCcaCount -namespace TxErrAbortCount { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +} // namespace ClusterRevision - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxErrAbortCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace TxErrAbortCount -namespace TxErrBusyChannelCount { struct TypeInfo { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxErrBusyChannelCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::NumberOfPositions::TypeInfo::DecodableType numberOfPositions = static_cast(0); + Attributes::CurrentPosition::TypeInfo::DecodableType currentPosition = static_cast(0); + Attributes::MultiPressMax::TypeInfo::DecodableType multiPressMax = static_cast(0); + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; -} // namespace TxErrBusyChannelCount -namespace RxTotalCount { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +} // namespace Attributes +namespace Events { +namespace SwitchLatched { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RxTotalCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +enum class Fields +{ + kNewPosition = 0, }; -} // namespace RxTotalCount -namespace RxUnicastCount { -struct TypeInfo + +struct Type { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::SwitchLatched::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RxUnicastCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t newPosition = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace RxUnicastCount -namespace RxBroadcastCount { -struct TypeInfo + +struct DecodableType { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::SwitchLatched::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RxBroadcastCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t newPosition = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace RxBroadcastCount -namespace RxDataCount { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +} // namespace SwitchLatched +namespace InitialPress { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RxDataCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +enum class Fields +{ + kNewPosition = 0, }; -} // namespace RxDataCount -namespace RxDataPollCount { -struct TypeInfo + +struct Type { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::InitialPress::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RxDataPollCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t newPosition = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace RxDataPollCount -namespace RxBeaconCount { -struct TypeInfo + +struct DecodableType { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::InitialPress::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RxBeaconCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t newPosition = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace RxBeaconCount -namespace RxBeaconRequestCount { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +} // namespace InitialPress +namespace LongPress { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RxBeaconRequestCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +enum class Fields +{ + kNewPosition = 0, }; -} // namespace RxBeaconRequestCount -namespace RxOtherCount { -struct TypeInfo + +struct Type { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::LongPress::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RxOtherCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t newPosition = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace RxOtherCount -namespace RxAddressFilteredCount { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RxAddressFilteredCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace RxAddressFilteredCount -namespace RxDestAddrFilteredCount { -struct TypeInfo +struct DecodableType { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::LongPress::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RxDestAddrFilteredCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace RxDestAddrFilteredCount -namespace RxDuplicatedCount { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; + uint8_t newPosition = static_cast(0); - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RxDuplicatedCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace RxDuplicatedCount -namespace RxErrNoFrameCount { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +} // namespace LongPress +namespace ShortRelease { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RxErrNoFrameCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +enum class Fields +{ + kPreviousPosition = 0, }; -} // namespace RxErrNoFrameCount -namespace RxErrUnknownNeighborCount { -struct TypeInfo + +struct Type { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ShortRelease::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RxErrUnknownNeighborCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t previousPosition = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace RxErrUnknownNeighborCount -namespace RxErrInvalidSrcAddrCount { -struct TypeInfo + +struct DecodableType { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ShortRelease::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RxErrInvalidSrcAddrCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t previousPosition = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace RxErrInvalidSrcAddrCount -namespace RxErrSecCount { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +} // namespace ShortRelease +namespace LongRelease { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RxErrSecCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +enum class Fields +{ + kPreviousPosition = 0, }; -} // namespace RxErrSecCount -namespace RxErrFcsCount { -struct TypeInfo + +struct Type { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::LongRelease::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RxErrFcsCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t previousPosition = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace RxErrFcsCount -namespace RxErrOtherCount { -struct TypeInfo + +struct DecodableType { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::LongRelease::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RxErrOtherCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t previousPosition = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace RxErrOtherCount -namespace ActiveTimestamp { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +} // namespace LongRelease +namespace MultiPressOngoing { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ActiveTimestamp::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +enum class Fields +{ + kNewPosition = 0, + kCurrentNumberOfPressesCounted = 1, }; -} // namespace ActiveTimestamp -namespace PendingTimestamp { -struct TypeInfo + +struct Type { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::MultiPressOngoing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PendingTimestamp::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t newPosition = static_cast(0); + uint8_t currentNumberOfPressesCounted = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace PendingTimestamp -namespace Delay { -struct TypeInfo + +struct DecodableType { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::MultiPressOngoing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Delay::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t newPosition = static_cast(0); + uint8_t currentNumberOfPressesCounted = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Delay -namespace SecurityPolicy { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = - chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable< - chip::app::Clusters::ThreadNetworkDiagnostics::Structs::SecurityPolicy::DecodableType> &; +} // namespace MultiPressOngoing +namespace MultiPressComplete { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SecurityPolicy::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +enum class Fields +{ + kNewPosition = 0, + kTotalNumberOfPressesCounted = 1, }; -} // namespace SecurityPolicy -namespace ChannelMask { -struct TypeInfo + +struct Type { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::MultiPressComplete::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ChannelMask::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 4; } + uint8_t newPosition = static_cast(0); + uint8_t totalNumberOfPressesCounted = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace ChannelMask -namespace OperationalDatasetComponents { -struct TypeInfo + +struct DecodableType { - using Type = - chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable< - chip::app::Clusters::ThreadNetworkDiagnostics::Structs::OperationalDatasetComponents::DecodableType>; - using DecodableArgType = const chip::app::DataModel::Nullable< - chip::app::Clusters::ThreadNetworkDiagnostics::Structs::OperationalDatasetComponents::DecodableType> &; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::MultiPressComplete::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OperationalDatasetComponents::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t newPosition = static_cast(0); + uint8_t totalNumberOfPressesCounted = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace OperationalDatasetComponents -namespace ActiveNetworkFaultsList { -struct TypeInfo -{ - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = - const chip::app::DataModel::DecodableList &; +} // namespace MultiPressComplete +} // namespace Events +} // namespace Switch +namespace AdministratorCommissioning { - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ActiveNetworkFaultsList::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ActiveNetworkFaultsList -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } -}; -} // namespace ClusterRevision +namespace Commands { +// Forward-declarations so we can reference these later. -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } +namespace OpenCommissioningWindow { +struct Type; +struct DecodableType; +} // namespace OpenCommissioningWindow - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +namespace OpenBasicCommissioningWindow { +struct Type; +struct DecodableType; +} // namespace OpenBasicCommissioningWindow - Attributes::Channel::TypeInfo::DecodableType channel; - Attributes::RoutingRole::TypeInfo::DecodableType routingRole; - Attributes::NetworkName::TypeInfo::DecodableType networkName; - Attributes::PanId::TypeInfo::DecodableType panId; - Attributes::ExtendedPanId::TypeInfo::DecodableType extendedPanId; - Attributes::MeshLocalPrefix::TypeInfo::DecodableType meshLocalPrefix; - Attributes::OverrunCount::TypeInfo::DecodableType overrunCount = static_cast(0); - Attributes::NeighborTableList::TypeInfo::DecodableType neighborTableList; - Attributes::RouteTableList::TypeInfo::DecodableType routeTableList; - Attributes::PartitionId::TypeInfo::DecodableType partitionId; - Attributes::Weighting::TypeInfo::DecodableType weighting; - Attributes::DataVersion::TypeInfo::DecodableType dataVersion; - Attributes::StableDataVersion::TypeInfo::DecodableType stableDataVersion; - Attributes::LeaderRouterId::TypeInfo::DecodableType leaderRouterId; - Attributes::DetachedRoleCount::TypeInfo::DecodableType detachedRoleCount = static_cast(0); - Attributes::ChildRoleCount::TypeInfo::DecodableType childRoleCount = static_cast(0); - Attributes::RouterRoleCount::TypeInfo::DecodableType routerRoleCount = static_cast(0); - Attributes::LeaderRoleCount::TypeInfo::DecodableType leaderRoleCount = static_cast(0); - Attributes::AttachAttemptCount::TypeInfo::DecodableType attachAttemptCount = static_cast(0); - Attributes::PartitionIdChangeCount::TypeInfo::DecodableType partitionIdChangeCount = static_cast(0); - Attributes::BetterPartitionAttachAttemptCount::TypeInfo::DecodableType betterPartitionAttachAttemptCount = - static_cast(0); - Attributes::ParentChangeCount::TypeInfo::DecodableType parentChangeCount = static_cast(0); - Attributes::TxTotalCount::TypeInfo::DecodableType txTotalCount = static_cast(0); - Attributes::TxUnicastCount::TypeInfo::DecodableType txUnicastCount = static_cast(0); - Attributes::TxBroadcastCount::TypeInfo::DecodableType txBroadcastCount = static_cast(0); - Attributes::TxAckRequestedCount::TypeInfo::DecodableType txAckRequestedCount = static_cast(0); - Attributes::TxAckedCount::TypeInfo::DecodableType txAckedCount = static_cast(0); - Attributes::TxNoAckRequestedCount::TypeInfo::DecodableType txNoAckRequestedCount = static_cast(0); - Attributes::TxDataCount::TypeInfo::DecodableType txDataCount = static_cast(0); - Attributes::TxDataPollCount::TypeInfo::DecodableType txDataPollCount = static_cast(0); - Attributes::TxBeaconCount::TypeInfo::DecodableType txBeaconCount = static_cast(0); - Attributes::TxBeaconRequestCount::TypeInfo::DecodableType txBeaconRequestCount = static_cast(0); - Attributes::TxOtherCount::TypeInfo::DecodableType txOtherCount = static_cast(0); - Attributes::TxRetryCount::TypeInfo::DecodableType txRetryCount = static_cast(0); - Attributes::TxDirectMaxRetryExpiryCount::TypeInfo::DecodableType txDirectMaxRetryExpiryCount = static_cast(0); - Attributes::TxIndirectMaxRetryExpiryCount::TypeInfo::DecodableType txIndirectMaxRetryExpiryCount = static_cast(0); - Attributes::TxErrCcaCount::TypeInfo::DecodableType txErrCcaCount = static_cast(0); - Attributes::TxErrAbortCount::TypeInfo::DecodableType txErrAbortCount = static_cast(0); - Attributes::TxErrBusyChannelCount::TypeInfo::DecodableType txErrBusyChannelCount = static_cast(0); - Attributes::RxTotalCount::TypeInfo::DecodableType rxTotalCount = static_cast(0); - Attributes::RxUnicastCount::TypeInfo::DecodableType rxUnicastCount = static_cast(0); - Attributes::RxBroadcastCount::TypeInfo::DecodableType rxBroadcastCount = static_cast(0); - Attributes::RxDataCount::TypeInfo::DecodableType rxDataCount = static_cast(0); - Attributes::RxDataPollCount::TypeInfo::DecodableType rxDataPollCount = static_cast(0); - Attributes::RxBeaconCount::TypeInfo::DecodableType rxBeaconCount = static_cast(0); - Attributes::RxBeaconRequestCount::TypeInfo::DecodableType rxBeaconRequestCount = static_cast(0); - Attributes::RxOtherCount::TypeInfo::DecodableType rxOtherCount = static_cast(0); - Attributes::RxAddressFilteredCount::TypeInfo::DecodableType rxAddressFilteredCount = static_cast(0); - Attributes::RxDestAddrFilteredCount::TypeInfo::DecodableType rxDestAddrFilteredCount = static_cast(0); - Attributes::RxDuplicatedCount::TypeInfo::DecodableType rxDuplicatedCount = static_cast(0); - Attributes::RxErrNoFrameCount::TypeInfo::DecodableType rxErrNoFrameCount = static_cast(0); - Attributes::RxErrUnknownNeighborCount::TypeInfo::DecodableType rxErrUnknownNeighborCount = static_cast(0); - Attributes::RxErrInvalidSrcAddrCount::TypeInfo::DecodableType rxErrInvalidSrcAddrCount = static_cast(0); - Attributes::RxErrSecCount::TypeInfo::DecodableType rxErrSecCount = static_cast(0); - Attributes::RxErrFcsCount::TypeInfo::DecodableType rxErrFcsCount = static_cast(0); - Attributes::RxErrOtherCount::TypeInfo::DecodableType rxErrOtherCount = static_cast(0); - Attributes::ActiveTimestamp::TypeInfo::DecodableType activeTimestamp; - Attributes::PendingTimestamp::TypeInfo::DecodableType pendingTimestamp; - Attributes::Delay::TypeInfo::DecodableType delay; - Attributes::SecurityPolicy::TypeInfo::DecodableType securityPolicy; - Attributes::ChannelMask::TypeInfo::DecodableType channelMask; - Attributes::OperationalDatasetComponents::TypeInfo::DecodableType operationalDatasetComponents; - Attributes::ActiveNetworkFaultsList::TypeInfo::DecodableType activeNetworkFaultsList; - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -namespace Events { -namespace ConnectionStatus { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; +namespace RevokeCommissioning { +struct Type; +struct DecodableType; +} // namespace RevokeCommissioning + +} // namespace Commands +namespace Commands { +namespace OpenCommissioningWindow { enum class Fields { - kConnectionStatus = 0, + kCommissioningTimeout = 0, + kPAKEVerifier = 1, + kDiscriminator = 2, + kIterations = 3, + kSalt = 4, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ConnectionStatus::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - static constexpr bool kIsFabricScoped = false; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::OpenCommissioningWindow::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } - ThreadConnectionStatus connectionStatus = static_cast(0); + uint16_t commissioningTimeout = static_cast(0); + chip::ByteSpan PAKEVerifier; + uint16_t discriminator = static_cast(0); + uint32_t iterations = static_cast(0); + chip::ByteSpan salt; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return true; } }; struct DecodableType { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ConnectionStatus::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } - - ThreadConnectionStatus connectionStatus = static_cast(0); + static constexpr CommandId GetCommandId() { return Commands::OpenCommissioningWindow::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } + uint16_t commissioningTimeout = static_cast(0); + chip::ByteSpan PAKEVerifier; + uint16_t discriminator = static_cast(0); + uint32_t iterations = static_cast(0); + chip::ByteSpan salt; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace ConnectionStatus -} // namespace Events -} // namespace ThreadNetworkDiagnostics -namespace WiFiNetworkDiagnostics { +}; // namespace OpenCommissioningWindow +namespace OpenBasicCommissioningWindow { +enum class Fields +{ + kCommissioningTimeout = 0, +}; -namespace Commands { -// Forward-declarations so we can reference these later. +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::OpenBasicCommissioningWindow::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } -namespace ResetCounts { -struct Type; -struct DecodableType; -} // namespace ResetCounts + uint16_t commissioningTimeout = static_cast(0); -} // namespace Commands + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -namespace Commands { -namespace ResetCounts { + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return true; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::OpenBasicCommissioningWindow::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } + + uint16_t commissioningTimeout = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace OpenBasicCommissioningWindow +namespace RevokeCommissioning { enum class Fields { }; @@ -12537,214 +10714,93 @@ struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ResetCounts::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr CommandId GetCommandId() { return Commands::RevokeCommissioning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; using ResponseType = DataModel::NullObjectType; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr bool MustUseTimedInvoke() { return true; } }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::ResetCounts::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr CommandId GetCommandId() { return Commands::RevokeCommissioning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace ResetCounts +}; // namespace RevokeCommissioning } // namespace Commands namespace Attributes { -namespace Bssid { +namespace WindowStatus { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Bssid::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::WindowStatus::Id; } static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 6; } }; -} // namespace Bssid -namespace SecurityType { +} // namespace WindowStatus +namespace AdminFabricIndex { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SecurityType::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace SecurityType -namespace WiFiVersion { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::WiFiVersion::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace WiFiVersion -namespace ChannelNumber { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ChannelNumber::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ChannelNumber -namespace Rssi { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Rssi::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Rssi -namespace BeaconLostCount { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BeaconLostCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BeaconLostCount -namespace BeaconRxCount { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BeaconRxCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BeaconRxCount -namespace PacketMulticastRxCount { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PacketMulticastRxCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace PacketMulticastRxCount -namespace PacketMulticastTxCount { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PacketMulticastTxCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace PacketMulticastTxCount -namespace PacketUnicastRxCount { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PacketUnicastRxCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace PacketUnicastRxCount -namespace PacketUnicastTxCount { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PacketUnicastTxCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace PacketUnicastTxCount -namespace CurrentMaxRate { -struct TypeInfo -{ - using Type = uint64_t; - using DecodableType = uint64_t; - using DecodableArgType = uint64_t; + using Type = chip::FabricIndex; + using DecodableType = chip::FabricIndex; + using DecodableArgType = chip::FabricIndex; - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentMaxRate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::AdminFabricIndex::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentMaxRate -namespace OverrunCount { +} // namespace AdminFabricIndex +namespace AdminVendorId { struct TypeInfo { - using Type = uint64_t; - using DecodableType = uint64_t; - using DecodableArgType = uint64_t; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OverrunCount::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::AdminVendorId::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace OverrunCount +} // namespace AdminVendorId namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } }; } // namespace ClusterRevision @@ -12752,23 +10808,13 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::Bssid::TypeInfo::DecodableType bssid; - Attributes::SecurityType::TypeInfo::DecodableType securityType; - Attributes::WiFiVersion::TypeInfo::DecodableType wiFiVersion; - Attributes::ChannelNumber::TypeInfo::DecodableType channelNumber; - Attributes::Rssi::TypeInfo::DecodableType rssi; - Attributes::BeaconLostCount::TypeInfo::DecodableType beaconLostCount = static_cast(0); - Attributes::BeaconRxCount::TypeInfo::DecodableType beaconRxCount = static_cast(0); - Attributes::PacketMulticastRxCount::TypeInfo::DecodableType packetMulticastRxCount = static_cast(0); - Attributes::PacketMulticastTxCount::TypeInfo::DecodableType packetMulticastTxCount = static_cast(0); - Attributes::PacketUnicastRxCount::TypeInfo::DecodableType packetUnicastRxCount = static_cast(0); - Attributes::PacketUnicastTxCount::TypeInfo::DecodableType packetUnicastTxCount = static_cast(0); - Attributes::CurrentMaxRate::TypeInfo::DecodableType currentMaxRate = static_cast(0); - Attributes::OverrunCount::TypeInfo::DecodableType overrunCount = static_cast(0); + Attributes::WindowStatus::TypeInfo::DecodableType windowStatus = static_cast(0); + Attributes::AdminFabricIndex::TypeInfo::DecodableType adminFabricIndex = static_cast(0); + Attributes::AdminVendorId::TypeInfo::DecodableType adminVendorId = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -12777,135 +10823,197 @@ struct TypeInfo }; }; } // namespace Attributes -namespace Events { -namespace Disconnection { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - +} // namespace AdministratorCommissioning +namespace OperationalCredentials { +namespace Structs { +namespace FabricDescriptor { enum class Fields { - kReasonCode = 0, + kRootPublicKey = 1, + kVendorId = 2, + kFabricId = 3, + kNodeId = 4, + kLabel = 5, + kFabricIndex = 254, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::Disconnection::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - static constexpr bool kIsFabricScoped = false; + chip::ByteSpan rootPublicKey; + chip::VendorId vendorId = static_cast(0); + chip::FabricId fabricId = static_cast(0); + chip::NodeId nodeId = static_cast(0); + chip::CharSpan label; + chip::FabricIndex fabricIndex = static_cast(0); - uint16_t reasonCode = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; + static constexpr bool kIsFabricScoped = true; -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::Disconnection::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + auto GetFabricIndex() const { return fabricIndex; } - uint16_t reasonCode = static_cast(0); + void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } - CHIP_ERROR Decode(TLV::TLVReader & reader); + CHIP_ERROR EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const; + CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const; + +private: + CHIP_ERROR DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const; }; -} // namespace Disconnection -namespace AssociationFailure { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; +using DecodableType = Type; + +} // namespace FabricDescriptor +namespace NOCStruct { enum class Fields { - kAssociationFailure = 0, - kStatus = 1, + kNoc = 1, + kIcac = 2, + kFabricIndex = 254, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::AssociationFailure::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - static constexpr bool kIsFabricScoped = false; + chip::ByteSpan noc; + DataModel::Nullable icac; + chip::FabricIndex fabricIndex = static_cast(0); - AssociationFailureCause associationFailure = static_cast(0); - uint16_t status = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; + static constexpr bool kIsFabricScoped = true; -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::AssociationFailure::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + auto GetFabricIndex() const { return fabricIndex; } - AssociationFailureCause associationFailure = static_cast(0); - uint16_t status = static_cast(0); + void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } - CHIP_ERROR Decode(TLV::TLVReader & reader); + CHIP_ERROR EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const; + CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const; + +private: + CHIP_ERROR DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const; }; -} // namespace AssociationFailure -namespace ConnectionStatus { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; +using DecodableType = Type; + +} // namespace NOCStruct +} // namespace Structs + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace AttestationRequest { +struct Type; +struct DecodableType; +} // namespace AttestationRequest + +namespace AttestationResponse { +struct Type; +struct DecodableType; +} // namespace AttestationResponse + +namespace CertificateChainRequest { +struct Type; +struct DecodableType; +} // namespace CertificateChainRequest + +namespace CertificateChainResponse { +struct Type; +struct DecodableType; +} // namespace CertificateChainResponse + +namespace CSRRequest { +struct Type; +struct DecodableType; +} // namespace CSRRequest + +namespace CSRResponse { +struct Type; +struct DecodableType; +} // namespace CSRResponse + +namespace AddNOC { +struct Type; +struct DecodableType; +} // namespace AddNOC + +namespace UpdateNOC { +struct Type; +struct DecodableType; +} // namespace UpdateNOC + +namespace NOCResponse { +struct Type; +struct DecodableType; +} // namespace NOCResponse + +namespace UpdateFabricLabel { +struct Type; +struct DecodableType; +} // namespace UpdateFabricLabel + +namespace RemoveFabric { +struct Type; +struct DecodableType; +} // namespace RemoveFabric + +namespace AddTrustedRootCertificate { +struct Type; +struct DecodableType; +} // namespace AddTrustedRootCertificate + +} // namespace Commands + +namespace Commands { +namespace AttestationRequest { enum class Fields { - kConnectionStatus = 0, + kAttestationNonce = 0, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ConnectionStatus::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - static constexpr bool kIsFabricScoped = false; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::AttestationRequest::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - WiFiConnectionStatus connectionStatus = static_cast(0); + chip::ByteSpan attestationNonce; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::OperationalCredentials::Commands::AttestationResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ConnectionStatus::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } - - WiFiConnectionStatus connectionStatus = static_cast(0); + static constexpr CommandId GetCommandId() { return Commands::AttestationRequest::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + chip::ByteSpan attestationNonce; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace ConnectionStatus -} // namespace Events -} // namespace WiFiNetworkDiagnostics -namespace EthernetNetworkDiagnostics { - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace ResetCounts { -struct Type; -struct DecodableType; -} // namespace ResetCounts - -} // namespace Commands - -namespace Commands { -namespace ResetCounts { +}; // namespace AttestationRequest +namespace AttestationResponse { enum class Fields { + kAttestationElements = 0, + kSignature = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ResetCounts::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } + static constexpr CommandId GetCommandId() { return Commands::AttestationResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + + chip::ByteSpan attestationElements; + chip::ByteSpan signature; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -12917,456 +11025,469 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::ResetCounts::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } + static constexpr CommandId GetCommandId() { return Commands::AttestationResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + chip::ByteSpan attestationElements; + chip::ByteSpan signature; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace ResetCounts -} // namespace Commands - -namespace Attributes { - -namespace PHYRate { -struct TypeInfo +}; // namespace AttestationResponse +namespace CertificateChainRequest { +enum class Fields { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PHYRate::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kCertificateType = 0, }; -} // namespace PHYRate -namespace FullDuplex { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::FullDuplex::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace FullDuplex -namespace PacketRxCount { -struct TypeInfo +struct Type { - using Type = uint64_t; - using DecodableType = uint64_t; - using DecodableArgType = uint64_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::CertificateChainRequest::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PacketRxCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t certificateType = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::OperationalCredentials::Commands::CertificateChainResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace PacketRxCount -namespace PacketTxCount { -struct TypeInfo + +struct DecodableType { - using Type = uint64_t; - using DecodableType = uint64_t; - using DecodableArgType = uint64_t; +public: + static constexpr CommandId GetCommandId() { return Commands::CertificateChainRequest::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PacketTxCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t certificateType = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace PacketTxCount -namespace TxErrCount { -struct TypeInfo +}; // namespace CertificateChainRequest +namespace CertificateChainResponse { +enum class Fields { - using Type = uint64_t; - using DecodableType = uint64_t; - using DecodableArgType = uint64_t; - - static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TxErrCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kCertificate = 0, }; -} // namespace TxErrCount -namespace CollisionCount { -struct TypeInfo + +struct Type { - using Type = uint64_t; - using DecodableType = uint64_t; - using DecodableArgType = uint64_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::CertificateChainResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CollisionCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + chip::ByteSpan certificate; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace CollisionCount -namespace OverrunCount { -struct TypeInfo + +struct DecodableType { - using Type = uint64_t; - using DecodableType = uint64_t; - using DecodableArgType = uint64_t; +public: + static constexpr CommandId GetCommandId() { return Commands::CertificateChainResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OverrunCount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + chip::ByteSpan certificate; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace OverrunCount -namespace CarrierDetect { -struct TypeInfo +}; // namespace CertificateChainResponse +namespace CSRRequest { +enum class Fields { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CarrierDetect::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kCSRNonce = 0, + kIsForUpdateNOC = 1, }; -} // namespace CarrierDetect -namespace TimeSinceReset { -struct TypeInfo + +struct Type { - using Type = uint64_t; - using DecodableType = uint64_t; - using DecodableArgType = uint64_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::CSRRequest::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TimeSinceReset::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + chip::ByteSpan CSRNonce; + Optional isForUpdateNOC; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::OperationalCredentials::Commands::CSRResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace TimeSinceReset -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::CSRRequest::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + + chip::ByteSpan CSRNonce; + Optional isForUpdateNOC; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +}; // namespace CSRRequest +namespace CSRResponse { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } + kNOCSRElements = 0, + kAttestationSignature = 1, }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::CSRResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + + chip::ByteSpan NOCSRElements; + chip::ByteSpan attestationSignature; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::CSRResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + + chip::ByteSpan NOCSRElements; + chip::ByteSpan attestationSignature; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +}; // namespace CSRResponse +namespace AddNOC { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } + kNOCValue = 0, + kICACValue = 1, + kIPKValue = 2, + kCaseAdminSubject = 3, + kAdminVendorId = 4, }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::AddNOC::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + chip::ByteSpan NOCValue; + Optional ICACValue; + chip::ByteSpan IPKValue; + uint64_t caseAdminSubject = static_cast(0); + chip::VendorId adminVendorId = static_cast(0); - Attributes::PHYRate::TypeInfo::DecodableType PHYRate; - Attributes::FullDuplex::TypeInfo::DecodableType fullDuplex; - Attributes::PacketRxCount::TypeInfo::DecodableType packetRxCount = static_cast(0); - Attributes::PacketTxCount::TypeInfo::DecodableType packetTxCount = static_cast(0); - Attributes::TxErrCount::TypeInfo::DecodableType txErrCount = static_cast(0); - Attributes::CollisionCount::TypeInfo::DecodableType collisionCount = static_cast(0); - Attributes::OverrunCount::TypeInfo::DecodableType overrunCount = static_cast(0); - Attributes::CarrierDetect::TypeInfo::DecodableType carrierDetect; - Attributes::TimeSinceReset::TypeInfo::DecodableType timeSinceReset = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace EthernetNetworkDiagnostics -namespace TimeSynchronization { + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -namespace Attributes { + using ResponseType = Clusters::OperationalCredentials::Commands::NOCResponse::DecodableType; -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::TimeSynchronization::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::AddNOC::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + + chip::ByteSpan NOCValue; + Optional ICACValue; + chip::ByteSpan IPKValue; + uint64_t caseAdminSubject = static_cast(0); + chip::VendorId adminVendorId = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +}; // namespace AddNOC +namespace UpdateNOC { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::TimeSynchronization::Id; } + kNOCValue = 0, + kICACValue = 1, }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::TimeSynchronization::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::UpdateNOC::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + + chip::ByteSpan NOCValue; + Optional ICACValue; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::OperationalCredentials::Commands::NOCResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::TimeSynchronization::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::UpdateNOC::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + + chip::ByteSpan NOCValue; + Optional ICACValue; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +}; // namespace UpdateNOC +namespace NOCResponse { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::TimeSynchronization::Id; } + kStatusCode = 0, + kFabricIndex = 1, + kDebugText = 2, }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::TimeSynchronization::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::NOCResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace TimeSynchronization -namespace BridgedDeviceBasic { + OperationalCertStatus statusCode = static_cast(0); + Optional fabricIndex; + Optional debugText; -namespace Attributes { + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -namespace VendorName { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + using ResponseType = DataModel::NullObjectType; - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::VendorName::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace VendorName -namespace VendorID { -struct TypeInfo + +struct DecodableType { - using Type = chip::VendorId; - using DecodableType = chip::VendorId; - using DecodableArgType = chip::VendorId; +public: + static constexpr CommandId GetCommandId() { return Commands::NOCResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::VendorID::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + OperationalCertStatus statusCode = static_cast(0); + Optional fabricIndex; + Optional debugText; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace VendorID -namespace ProductName { -struct TypeInfo +}; // namespace NOCResponse +namespace UpdateFabricLabel { +enum class Fields { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ProductName::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } + kLabel = 0, }; -} // namespace ProductName -namespace NodeLabel { -struct TypeInfo + +struct Type { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::UpdateFabricLabel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NodeLabel::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } + chip::CharSpan label; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::OperationalCredentials::Commands::NOCResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace NodeLabel -namespace HardwareVersion { -struct TypeInfo + +struct DecodableType { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + static constexpr CommandId GetCommandId() { return Commands::UpdateFabricLabel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::HardwareVersion::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + chip::CharSpan label; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace HardwareVersion -namespace HardwareVersionString { -struct TypeInfo +}; // namespace UpdateFabricLabel +namespace RemoveFabric { +enum class Fields { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + kFabricIndex = 0, +}; - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::HardwareVersionString::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 64; } +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::RemoveFabric::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + + chip::FabricIndex fabricIndex = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::OperationalCredentials::Commands::NOCResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace HardwareVersionString -namespace SoftwareVersion { -struct TypeInfo + +struct DecodableType { - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; +public: + static constexpr CommandId GetCommandId() { return Commands::RemoveFabric::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SoftwareVersion::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + chip::FabricIndex fabricIndex = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace SoftwareVersion -namespace SoftwareVersionString { -struct TypeInfo +}; // namespace RemoveFabric +namespace AddTrustedRootCertificate { +enum class Fields { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + kRootCertificate = 0, +}; - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SoftwareVersionString::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 64; } +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::AddTrustedRootCertificate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + + chip::ByteSpan rootCertificate; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace SoftwareVersionString -namespace ManufacturingDate { -struct TypeInfo + +struct DecodableType { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; +public: + static constexpr CommandId GetCommandId() { return Commands::AddTrustedRootCertificate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ManufacturingDate::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } + chip::ByteSpan rootCertificate; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace ManufacturingDate -namespace PartNumber { +}; // namespace AddTrustedRootCertificate +} // namespace Commands + +namespace Attributes { + +namespace NOCs { struct TypeInfo { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + using Type = chip::app::DataModel::List; + using DecodableType = + chip::app::DataModel::DecodableList; + using DecodableArgType = + const chip::app::DataModel::DecodableList &; - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PartNumber::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NOCs::Id; } static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } }; -} // namespace PartNumber -namespace ProductURL { +} // namespace NOCs +namespace Fabrics { struct TypeInfo { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + using Type = chip::app::DataModel::List; + using DecodableType = + chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::OperationalCredentials::Structs::FabricDescriptor::DecodableType> &; - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ProductURL::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Fabrics::Id; } static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 256; } }; -} // namespace ProductURL -namespace ProductLabel { +} // namespace Fabrics +namespace SupportedFabrics { struct TypeInfo { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ProductLabel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SupportedFabrics::Id; } static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 64; } }; -} // namespace ProductLabel -namespace SerialNumber { +} // namespace SupportedFabrics +namespace CommissionedFabrics { struct TypeInfo { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SerialNumber::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CommissionedFabrics::Id; } static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } }; -} // namespace SerialNumber -namespace Reachable { +} // namespace CommissionedFabrics +namespace TrustedRootCertificates { struct TypeInfo { - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList &; - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Reachable::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TrustedRootCertificates::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Reachable -namespace UniqueID { +} // namespace TrustedRootCertificates +namespace CurrentFabricIndex { struct TypeInfo { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + using Type = chip::FabricIndex; + using DecodableType = chip::FabricIndex; + using DecodableArgType = chip::FabricIndex; - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::UniqueID::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentFabricIndex::Id; } static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } }; -} // namespace UniqueID +} // namespace CurrentFabricIndex namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } }; } // namespace ClusterRevision @@ -13374,25 +11495,16 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::VendorName::TypeInfo::DecodableType vendorName; - Attributes::VendorID::TypeInfo::DecodableType vendorID = static_cast(0); - Attributes::ProductName::TypeInfo::DecodableType productName; - Attributes::NodeLabel::TypeInfo::DecodableType nodeLabel; - Attributes::HardwareVersion::TypeInfo::DecodableType hardwareVersion = static_cast(0); - Attributes::HardwareVersionString::TypeInfo::DecodableType hardwareVersionString; - Attributes::SoftwareVersion::TypeInfo::DecodableType softwareVersion = static_cast(0); - Attributes::SoftwareVersionString::TypeInfo::DecodableType softwareVersionString; - Attributes::ManufacturingDate::TypeInfo::DecodableType manufacturingDate; - Attributes::PartNumber::TypeInfo::DecodableType partNumber; - Attributes::ProductURL::TypeInfo::DecodableType productURL; - Attributes::ProductLabel::TypeInfo::DecodableType productLabel; - Attributes::SerialNumber::TypeInfo::DecodableType serialNumber; - Attributes::Reachable::TypeInfo::DecodableType reachable = static_cast(0); - Attributes::UniqueID::TypeInfo::DecodableType uniqueID; + Attributes::NOCs::TypeInfo::DecodableType NOCs; + Attributes::Fabrics::TypeInfo::DecodableType fabrics; + Attributes::SupportedFabrics::TypeInfo::DecodableType supportedFabrics = static_cast(0); + Attributes::CommissionedFabrics::TypeInfo::DecodableType commissionedFabrics = static_cast(0); + Attributes::TrustedRootCertificates::TypeInfo::DecodableType trustedRootCertificates; + Attributes::CurrentFabricIndex::TypeInfo::DecodableType currentFabricIndex = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -13401,656 +11513,439 @@ struct TypeInfo }; }; } // namespace Attributes -namespace Events { -namespace StartUp { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; - +} // namespace OperationalCredentials +namespace GroupKeyManagement { +namespace Structs { +namespace GroupInfoMapStruct { enum class Fields { - kSoftwareVersion = 0, + kGroupId = 1, + kEndpoints = 2, + kGroupName = 3, + kFabricIndex = 254, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::StartUp::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr bool kIsFabricScoped = false; + chip::GroupId groupId = static_cast(0); + DataModel::List endpoints; + Optional groupName; + chip::FabricIndex fabricIndex = static_cast(0); - uint32_t softwareVersion = static_cast(0); + static constexpr bool kIsFabricScoped = true; - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + auto GetFabricIndex() const { return fabricIndex; } + + void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } + + CHIP_ERROR EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const; + CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const; + +private: + CHIP_ERROR DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const; }; struct DecodableType { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::StartUp::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - - uint32_t softwareVersion = static_cast(0); + chip::GroupId groupId = static_cast(0); + DataModel::DecodableList endpoints; + Optional groupName; + chip::FabricIndex fabricIndex = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = true; + + auto GetFabricIndex() const { return fabricIndex; } + + void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } }; -} // namespace StartUp -namespace ShutDown { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; +} // namespace GroupInfoMapStruct +namespace GroupKeyMapStruct { enum class Fields { + kGroupId = 1, + kGroupKeySetID = 2, + kFabricIndex = 254, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ShutDown::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr bool kIsFabricScoped = false; + chip::GroupId groupId = static_cast(0); + uint16_t groupKeySetID = static_cast(0); + chip::FabricIndex fabricIndex = static_cast(0); - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = true; + + auto GetFabricIndex() const { return fabricIndex; } + + void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } + + CHIP_ERROR EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const; + CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const; + +private: + CHIP_ERROR DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const; }; -struct DecodableType +using DecodableType = Type; + +} // namespace GroupKeyMapStruct +namespace GroupKeySetStruct { +enum class Fields +{ + kGroupKeySetID = 0, + kGroupKeySecurityPolicy = 1, + kEpochKey0 = 2, + kEpochStartTime0 = 3, + kEpochKey1 = 4, + kEpochStartTime1 = 5, + kEpochKey2 = 6, + kEpochStartTime2 = 7, +}; + +struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ShutDown::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + uint16_t groupKeySetID = static_cast(0); + GroupKeySecurityPolicy groupKeySecurityPolicy = static_cast(0); + DataModel::Nullable epochKey0; + DataModel::Nullable epochStartTime0; + DataModel::Nullable epochKey1; + DataModel::Nullable epochStartTime1; + DataModel::Nullable epochKey2; + DataModel::Nullable epochStartTime2; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace ShutDown -namespace Leave { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; +using DecodableType = Type; + +} // namespace GroupKeySetStruct +} // namespace Structs + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace KeySetWrite { +struct Type; +struct DecodableType; +} // namespace KeySetWrite + +namespace KeySetRead { +struct Type; +struct DecodableType; +} // namespace KeySetRead + +namespace KeySetReadResponse { +struct Type; +struct DecodableType; +} // namespace KeySetReadResponse + +namespace KeySetRemove { +struct Type; +struct DecodableType; +} // namespace KeySetRemove + +namespace KeySetReadAllIndices { +struct Type; +struct DecodableType; +} // namespace KeySetReadAllIndices + +namespace KeySetReadAllIndicesResponse { +struct Type; +struct DecodableType; +} // namespace KeySetReadAllIndicesResponse + +} // namespace Commands + +namespace Commands { +namespace KeySetWrite { enum class Fields { + kGroupKeySet = 0, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::Leave::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr bool kIsFabricScoped = false; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::KeySetWrite::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + + Structs::GroupKeySetStruct::Type groupKeySet; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::Leave::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr CommandId GetCommandId() { return Commands::KeySetWrite::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + Structs::GroupKeySetStruct::DecodableType groupKeySet; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Leave -namespace ReachableChanged { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - +}; // namespace KeySetWrite +namespace KeySetRead { enum class Fields { - kReachableNewValue = 0, + kGroupKeySetID = 0, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ReachableChanged::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - static constexpr bool kIsFabricScoped = false; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::KeySetRead::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } - bool reachableNewValue = static_cast(0); + uint16_t groupKeySetID = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::GroupKeyManagement::Commands::KeySetReadResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ReachableChanged::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } - - bool reachableNewValue = static_cast(0); + static constexpr CommandId GetCommandId() { return Commands::KeySetRead::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + uint16_t groupKeySetID = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace ReachableChanged -} // namespace Events -} // namespace BridgedDeviceBasic -namespace Switch { - -namespace Attributes { - -namespace NumberOfPositions { -struct TypeInfo +}; // namespace KeySetRead +namespace KeySetReadResponse { +enum class Fields { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfPositions::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kGroupKeySet = 0, }; -} // namespace NumberOfPositions -namespace CurrentPosition { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPosition::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace CurrentPosition -namespace MultiPressMax { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MultiPressMax::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MultiPressMax -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } -}; -} // namespace ClusterRevision - -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - - Attributes::NumberOfPositions::TypeInfo::DecodableType numberOfPositions = static_cast(0); - Attributes::CurrentPosition::TypeInfo::DecodableType currentPosition = static_cast(0); - Attributes::MultiPressMax::TypeInfo::DecodableType multiPressMax = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -namespace Events { -namespace SwitchLatched { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ - kNewPosition = 0, -}; - -struct Type + +struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::SwitchLatched::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr bool kIsFabricScoped = false; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::KeySetReadResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } - uint8_t newPosition = static_cast(0); + Structs::GroupKeySetStruct::Type groupKeySet; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::SwitchLatched::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - - uint8_t newPosition = static_cast(0); + static constexpr CommandId GetCommandId() { return Commands::KeySetReadResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + Structs::GroupKeySetStruct::DecodableType groupKeySet; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace SwitchLatched -namespace InitialPress { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - +}; // namespace KeySetReadResponse +namespace KeySetRemove { enum class Fields { - kNewPosition = 0, + kGroupKeySetID = 0, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::InitialPress::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr bool kIsFabricScoped = false; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::KeySetRemove::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } - uint8_t newPosition = static_cast(0); + uint16_t groupKeySetID = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::InitialPress::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - - uint8_t newPosition = static_cast(0); + static constexpr CommandId GetCommandId() { return Commands::KeySetRemove::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + uint16_t groupKeySetID = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace InitialPress -namespace LongPress { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - +}; // namespace KeySetRemove +namespace KeySetReadAllIndices { enum class Fields { - kNewPosition = 0, + kGroupKeySetIDs = 0, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::LongPress::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr bool kIsFabricScoped = false; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::KeySetReadAllIndices::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } - uint8_t newPosition = static_cast(0); + DataModel::List groupKeySetIDs; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::GroupKeyManagement::Commands::KeySetReadAllIndicesResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::LongPress::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - - uint8_t newPosition = static_cast(0); + static constexpr CommandId GetCommandId() { return Commands::KeySetReadAllIndices::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + DataModel::DecodableList groupKeySetIDs; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace LongPress -namespace ShortRelease { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - +}; // namespace KeySetReadAllIndices +namespace KeySetReadAllIndicesResponse { enum class Fields { - kPreviousPosition = 0, + kGroupKeySetIDs = 0, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ShortRelease::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr bool kIsFabricScoped = false; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::KeySetReadAllIndicesResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } - uint8_t previousPosition = static_cast(0); + DataModel::List groupKeySetIDs; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ShortRelease::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - - uint8_t previousPosition = static_cast(0); + static constexpr CommandId GetCommandId() { return Commands::KeySetReadAllIndicesResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + DataModel::DecodableList groupKeySetIDs; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace ShortRelease -namespace LongRelease { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; +}; // namespace KeySetReadAllIndicesResponse +} // namespace Commands -enum class Fields -{ - kPreviousPosition = 0, -}; +namespace Attributes { -struct Type +namespace GroupKeyMap { +struct TypeInfo { -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::LongRelease::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr bool kIsFabricScoped = false; - - uint8_t previousPosition = static_cast(0); + using Type = chip::app::DataModel::List; + using DecodableType = + chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::GroupKeyManagement::Structs::GroupKeyMapStruct::DecodableType> &; - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::GroupKeyMap::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace GroupKeyMap +namespace GroupTable { +struct TypeInfo { -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::LongRelease::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - - uint8_t previousPosition = static_cast(0); + using Type = chip::app::DataModel::List; + using DecodableType = + chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::GroupKeyManagement::Structs::GroupInfoMapStruct::DecodableType> &; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::GroupTable::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace LongRelease -namespace MultiPressOngoing { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields +} // namespace GroupTable +namespace MaxGroupsPerFabric { +struct TypeInfo { - kNewPosition = 0, - kCurrentNumberOfPressesCounted = 1, -}; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::MultiPressOngoing::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr bool kIsFabricScoped = false; - - uint8_t newPosition = static_cast(0); - uint8_t currentNumberOfPressesCounted = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::MultiPressOngoing::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - - uint8_t newPosition = static_cast(0); - uint8_t currentNumberOfPressesCounted = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace MultiPressOngoing -namespace MultiPressComplete { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ - kNewPosition = 0, - kTotalNumberOfPressesCounted = 1, -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::MultiPressComplete::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - static constexpr bool kIsFabricScoped = false; - - uint8_t newPosition = static_cast(0); - uint8_t totalNumberOfPressesCounted = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::MultiPressComplete::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } - - uint8_t newPosition = static_cast(0); - uint8_t totalNumberOfPressesCounted = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace MultiPressComplete -} // namespace Events -} // namespace Switch -namespace AdministratorCommissioning { - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace OpenCommissioningWindow { -struct Type; -struct DecodableType; -} // namespace OpenCommissioningWindow - -namespace OpenBasicCommissioningWindow { -struct Type; -struct DecodableType; -} // namespace OpenBasicCommissioningWindow - -namespace RevokeCommissioning { -struct Type; -struct DecodableType; -} // namespace RevokeCommissioning - -} // namespace Commands - -namespace Commands { -namespace OpenCommissioningWindow { -enum class Fields -{ - kCommissioningTimeout = 0, - kPAKEVerifier = 1, - kDiscriminator = 2, - kIterations = 3, - kSalt = 4, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::OpenCommissioningWindow::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } - - uint16_t commissioningTimeout = static_cast(0); - chip::ByteSpan PAKEVerifier; - uint16_t discriminator = static_cast(0); - uint32_t iterations = static_cast(0); - chip::ByteSpan salt; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return true; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::OpenCommissioningWindow::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } - - uint16_t commissioningTimeout = static_cast(0); - chip::ByteSpan PAKEVerifier; - uint16_t discriminator = static_cast(0); - uint32_t iterations = static_cast(0); - chip::ByteSpan salt; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace OpenCommissioningWindow -namespace OpenBasicCommissioningWindow { -enum class Fields -{ - kCommissioningTimeout = 0, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::OpenBasicCommissioningWindow::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } - - uint16_t commissioningTimeout = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return true; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::OpenBasicCommissioningWindow::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } - - uint16_t commissioningTimeout = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace OpenBasicCommissioningWindow -namespace RevokeCommissioning { -enum class Fields -{ -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::RevokeCommissioning::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return true; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::RevokeCommissioning::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace RevokeCommissioning -} // namespace Commands - -namespace Attributes { - -namespace WindowStatus { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::WindowStatus::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace WindowStatus -namespace AdminFabricIndex { -struct TypeInfo -{ - using Type = chip::FabricIndex; - using DecodableType = chip::FabricIndex; - using DecodableArgType = chip::FabricIndex; - - static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::AdminFabricIndex::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxGroupsPerFabric::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AdminFabricIndex -namespace AdminVendorId { +} // namespace MaxGroupsPerFabric +namespace MaxGroupKeysPerFabric { struct TypeInfo { using Type = uint16_t; using DecodableType = uint16_t; using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::AdminVendorId::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxGroupKeysPerFabric::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AdminVendorId +} // namespace MaxGroupKeysPerFabric namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } }; } // namespace ClusterRevision @@ -14058,13 +11953,14 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::WindowStatus::TypeInfo::DecodableType windowStatus = static_cast(0); - Attributes::AdminFabricIndex::TypeInfo::DecodableType adminFabricIndex = static_cast(0); - Attributes::AdminVendorId::TypeInfo::DecodableType adminVendorId = static_cast(0); + Attributes::GroupKeyMap::TypeInfo::DecodableType groupKeyMap; + Attributes::GroupTable::TypeInfo::DecodableType groupTable; + Attributes::MaxGroupsPerFabric::TypeInfo::DecodableType maxGroupsPerFabric = static_cast(0); + Attributes::MaxGroupKeysPerFabric::TypeInfo::DecodableType maxGroupKeysPerFabric = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -14073,545 +11969,486 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace AdministratorCommissioning -namespace OperationalCredentials { +} // namespace GroupKeyManagement +namespace FixedLabel { namespace Structs { -namespace FabricDescriptor { -enum class Fields -{ - kRootPublicKey = 1, - kVendorId = 2, - kFabricId = 3, - kNodeId = 4, - kLabel = 5, - kFabricIndex = 254, -}; - -struct Type -{ -public: - chip::ByteSpan rootPublicKey; - chip::VendorId vendorId = static_cast(0); - chip::FabricId fabricId = static_cast(0); - chip::NodeId nodeId = static_cast(0); - chip::CharSpan label; - chip::FabricIndex fabricIndex = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = true; - - auto GetFabricIndex() const { return fabricIndex; } +namespace LabelStruct = Clusters::detail::Structs::LabelStruct; +} // namespace Structs - void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } +namespace Attributes { - CHIP_ERROR EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const; - CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const; +namespace LabelList { +struct TypeInfo +{ + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = + const chip::app::DataModel::DecodableList &; -private: - CHIP_ERROR DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const; + static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LabelList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -using DecodableType = Type; - -} // namespace FabricDescriptor -namespace NOCStruct { -enum class Fields +} // namespace LabelList +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - kNoc = 1, - kIcac = 2, - kFabricIndex = 254, + static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } }; - -struct Type +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { -public: - chip::ByteSpan noc; - DataModel::Nullable icac; - chip::FabricIndex fabricIndex = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = true; - - auto GetFabricIndex() const { return fabricIndex; } + static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } +}; +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } +}; +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } +}; +} // namespace ClusterRevision - void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } +struct TypeInfo +{ + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } - CHIP_ERROR EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const; - CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const; + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); -private: - CHIP_ERROR DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const; + Attributes::LabelList::TypeInfo::DecodableType labelList; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; - -using DecodableType = Type; - -} // namespace NOCStruct +} // namespace Attributes +} // namespace FixedLabel +namespace UserLabel { +namespace Structs { +namespace LabelStruct = Clusters::detail::Structs::LabelStruct; } // namespace Structs -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace AttestationRequest { -struct Type; -struct DecodableType; -} // namespace AttestationRequest - -namespace AttestationResponse { -struct Type; -struct DecodableType; -} // namespace AttestationResponse - -namespace CertificateChainRequest { -struct Type; -struct DecodableType; -} // namespace CertificateChainRequest - -namespace CertificateChainResponse { -struct Type; -struct DecodableType; -} // namespace CertificateChainResponse - -namespace CSRRequest { -struct Type; -struct DecodableType; -} // namespace CSRRequest - -namespace CSRResponse { -struct Type; -struct DecodableType; -} // namespace CSRResponse - -namespace AddNOC { -struct Type; -struct DecodableType; -} // namespace AddNOC - -namespace UpdateNOC { -struct Type; -struct DecodableType; -} // namespace UpdateNOC - -namespace NOCResponse { -struct Type; -struct DecodableType; -} // namespace NOCResponse - -namespace UpdateFabricLabel { -struct Type; -struct DecodableType; -} // namespace UpdateFabricLabel - -namespace RemoveFabric { -struct Type; -struct DecodableType; -} // namespace RemoveFabric - -namespace AddTrustedRootCertificate { -struct Type; -struct DecodableType; -} // namespace AddTrustedRootCertificate +namespace Attributes { -} // namespace Commands +namespace LabelList { +struct TypeInfo +{ + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = + const chip::app::DataModel::DecodableList &; -namespace Commands { -namespace AttestationRequest { -enum class Fields + static constexpr ClusterId GetClusterId() { return Clusters::UserLabel::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LabelList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace LabelList +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - kAttestationNonce = 0, + static constexpr ClusterId GetClusterId() { return Clusters::UserLabel::Id; } }; - -struct Type +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::AttestationRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - - chip::ByteSpan attestationNonce; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::OperationalCredentials::Commands::AttestationResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::UserLabel::Id; } }; - -struct DecodableType +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::AttestationRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - - chip::ByteSpan attestationNonce; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::UserLabel::Id; } }; -}; // namespace AttestationRequest -namespace AttestationResponse { -enum class Fields +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - kAttestationElements = 0, - kSignature = 1, + static constexpr ClusterId GetClusterId() { return Clusters::UserLabel::Id; } }; - -struct Type +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::AttestationResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - - chip::ByteSpan attestationElements; - chip::ByteSpan signature; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::UserLabel::Id; } }; +} // namespace ClusterRevision -struct DecodableType +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::AttestationResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::UserLabel::Id; } - chip::ByteSpan attestationElements; - chip::ByteSpan signature; - CHIP_ERROR Decode(TLV::TLVReader & reader); + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::LabelList::TypeInfo::DecodableType labelList; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; -}; // namespace AttestationResponse -namespace CertificateChainRequest { -enum class Fields +} // namespace Attributes +} // namespace UserLabel +namespace ProxyConfiguration { + +namespace Attributes { + +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - kCertificateType = 0, + static constexpr ClusterId GetClusterId() { return Clusters::ProxyConfiguration::Id; } }; - -struct Type +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::CertificateChainRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - - uint8_t certificateType = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::OperationalCredentials::Commands::CertificateChainResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ProxyConfiguration::Id; } }; - -struct DecodableType +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::CertificateChainRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - - uint8_t certificateType = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::ProxyConfiguration::Id; } }; -}; // namespace CertificateChainRequest -namespace CertificateChainResponse { -enum class Fields +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - kCertificate = 0, + static constexpr ClusterId GetClusterId() { return Clusters::ProxyConfiguration::Id; } }; - -struct Type +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::CertificateChainResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - - chip::ByteSpan certificate; + static constexpr ClusterId GetClusterId() { return Clusters::ProxyConfiguration::Id; } +}; +} // namespace ClusterRevision - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +struct TypeInfo +{ + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::ProxyConfiguration::Id; } - using ResponseType = DataModel::NullObjectType; + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - static constexpr bool MustUseTimedInvoke() { return false; } + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; +} // namespace Attributes +} // namespace ProxyConfiguration +namespace ProxyDiscovery { -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::CertificateChainResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } +namespace Attributes { - chip::ByteSpan certificate; - CHIP_ERROR Decode(TLV::TLVReader & reader); +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::ProxyDiscovery::Id; } }; -}; // namespace CertificateChainResponse -namespace CSRRequest { -enum class Fields +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - kCSRNonce = 0, - kIsForUpdateNOC = 1, + static constexpr ClusterId GetClusterId() { return Clusters::ProxyDiscovery::Id; } }; - -struct Type +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::CSRRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - - chip::ByteSpan CSRNonce; - Optional isForUpdateNOC; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::OperationalCredentials::Commands::CSRResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ProxyDiscovery::Id; } }; - -struct DecodableType +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::CSRRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - - chip::ByteSpan CSRNonce; - Optional isForUpdateNOC; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::ProxyDiscovery::Id; } }; -}; // namespace CSRRequest -namespace CSRResponse { -enum class Fields +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - kNOCSRElements = 0, - kAttestationSignature = 1, + static constexpr ClusterId GetClusterId() { return Clusters::ProxyDiscovery::Id; } }; +} // namespace ClusterRevision -struct Type +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::CSRResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::ProxyDiscovery::Id; } - chip::ByteSpan NOCSRElements; - chip::ByteSpan attestationSignature; + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; +}; +} // namespace Attributes +} // namespace ProxyDiscovery +namespace ProxyValid { - using ResponseType = DataModel::NullObjectType; +namespace Attributes { - static constexpr bool MustUseTimedInvoke() { return false; } +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::ProxyValid::Id; } }; - -struct DecodableType +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::CSRResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - - chip::ByteSpan NOCSRElements; - chip::ByteSpan attestationSignature; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::ProxyValid::Id; } }; -}; // namespace CSRResponse -namespace AddNOC { -enum class Fields +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - kNOCValue = 0, - kICACValue = 1, - kIPKValue = 2, - kCaseAdminSubject = 3, - kAdminVendorId = 4, + static constexpr ClusterId GetClusterId() { return Clusters::ProxyValid::Id; } }; - -struct Type +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::AddNOC::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - - chip::ByteSpan NOCValue; - Optional ICACValue; - chip::ByteSpan IPKValue; - uint64_t caseAdminSubject = static_cast(0); - chip::VendorId adminVendorId = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::OperationalCredentials::Commands::NOCResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ProxyValid::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::ProxyValid::Id; } }; +} // namespace ClusterRevision -struct DecodableType +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::AddNOC::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::ProxyValid::Id; } - chip::ByteSpan NOCValue; - Optional ICACValue; - chip::ByteSpan IPKValue; - uint64_t caseAdminSubject = static_cast(0); - chip::VendorId adminVendorId = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace AddNOC -namespace UpdateNOC { -enum class Fields -{ - kNOCValue = 0, - kICACValue = 1, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::UpdateNOC::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - chip::ByteSpan NOCValue; - Optional ICACValue; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; +}; +} // namespace Attributes +} // namespace ProxyValid +namespace BooleanState { - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +namespace Attributes { - using ResponseType = Clusters::OperationalCredentials::Commands::NOCResponse::DecodableType; +namespace StateValue { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::StateValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace StateValue +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } +}; +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } +}; +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } +}; +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } }; +} // namespace ClusterRevision -struct DecodableType +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::UpdateNOC::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } - chip::ByteSpan NOCValue; - Optional ICACValue; - CHIP_ERROR Decode(TLV::TLVReader & reader); + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::StateValue::TypeInfo::DecodableType stateValue = static_cast(0); + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; -}; // namespace UpdateNOC -namespace NOCResponse { +} // namespace Attributes +namespace Events { +namespace StateChange { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + enum class Fields { - kStatusCode = 0, - kFabricIndex = 1, - kDebugText = 2, + kStateValue = 0, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::NOCResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::StateChange::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } + static constexpr bool kIsFabricScoped = false; - OperationalCertStatus statusCode = static_cast(0); - Optional fabricIndex; - Optional debugText; + bool stateValue = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::NOCResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::StateChange::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } + + bool stateValue = static_cast(0); - OperationalCertStatus statusCode = static_cast(0); - Optional fabricIndex; - Optional debugText; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace NOCResponse -namespace UpdateFabricLabel { +} // namespace StateChange +} // namespace Events +} // namespace BooleanState +namespace ModeSelect { +namespace Structs { +namespace SemanticTag { enum class Fields { - kLabel = 0, + kMfgCode = 0, + kValue = 1, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::UpdateFabricLabel::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - - chip::CharSpan label; + uint16_t mfgCode = static_cast(0); + uint16_t value = static_cast(0); - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + CHIP_ERROR Decode(TLV::TLVReader & reader); - using ResponseType = Clusters::OperationalCredentials::Commands::NOCResponse::DecodableType; + static constexpr bool kIsFabricScoped = false; - static constexpr bool MustUseTimedInvoke() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::UpdateFabricLabel::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } +using DecodableType = Type; - chip::CharSpan label; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace UpdateFabricLabel -namespace RemoveFabric { +} // namespace SemanticTag +namespace ModeOptionStruct { enum class Fields { - kFabricIndex = 0, + kLabel = 0, + kMode = 1, + kSemanticTags = 2, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::RemoveFabric::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + chip::CharSpan label; + uint8_t mode = static_cast(0); + DataModel::List semanticTags; - chip::FabricIndex fabricIndex = static_cast(0); + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::OperationalCredentials::Commands::NOCResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::RemoveFabric::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + chip::CharSpan label; + uint8_t mode = static_cast(0); + DataModel::DecodableList semanticTags; - chip::FabricIndex fabricIndex = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; -}; // namespace RemoveFabric -namespace AddTrustedRootCertificate { + +} // namespace ModeOptionStruct +} // namespace Structs + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace ChangeToMode { +struct Type; +struct DecodableType; +} // namespace ChangeToMode + +} // namespace Commands + +namespace Commands { +namespace ChangeToMode { enum class Fields { - kRootCertificate = 0, + kNewMode = 0, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::AddTrustedRootCertificate::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr CommandId GetCommandId() { return Commands::ChangeToMode::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } - chip::ByteSpan rootCertificate; + uint8_t newMode = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -14623,121 +12460,120 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::AddTrustedRootCertificate::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr CommandId GetCommandId() { return Commands::ChangeToMode::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } - chip::ByteSpan rootCertificate; + uint8_t newMode = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace AddTrustedRootCertificate +}; // namespace ChangeToMode } // namespace Commands namespace Attributes { -namespace NOCs { +namespace Description { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = - chip::app::DataModel::DecodableList; - using DecodableArgType = - const chip::app::DataModel::DecodableList &; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NOCs::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Description::Id; } static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 32; } }; -} // namespace NOCs -namespace Fabrics { +} // namespace Description +namespace StandardNamespace { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = - chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList< - chip::app::Clusters::OperationalCredentials::Structs::FabricDescriptor::DecodableType> &; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Fabrics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::StandardNamespace::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Fabrics -namespace SupportedFabrics { +} // namespace StandardNamespace +namespace SupportedModes { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::DataModel::List; + using DecodableType = + chip::app::DataModel::DecodableList; + using DecodableArgType = + const chip::app::DataModel::DecodableList &; - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SupportedFabrics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SupportedModes::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace SupportedFabrics -namespace CommissionedFabrics { +} // namespace SupportedModes +namespace CurrentMode { struct TypeInfo { using Type = uint8_t; using DecodableType = uint8_t; using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CommissionedFabrics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentMode::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CommissionedFabrics -namespace TrustedRootCertificates { +} // namespace CurrentMode +namespace StartUpMode { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList &; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TrustedRootCertificates::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::StartUpMode::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace TrustedRootCertificates -namespace CurrentFabricIndex { +} // namespace StartUpMode +namespace OnMode { struct TypeInfo { - using Type = chip::FabricIndex; - using DecodableType = chip::FabricIndex; - using DecodableArgType = chip::FabricIndex; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentFabricIndex::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OnMode::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentFabricIndex +} // namespace OnMode namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } }; } // namespace ClusterRevision @@ -14745,16 +12581,16 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::NOCs::TypeInfo::DecodableType NOCs; - Attributes::Fabrics::TypeInfo::DecodableType fabrics; - Attributes::SupportedFabrics::TypeInfo::DecodableType supportedFabrics = static_cast(0); - Attributes::CommissionedFabrics::TypeInfo::DecodableType commissionedFabrics = static_cast(0); - Attributes::TrustedRootCertificates::TypeInfo::DecodableType trustedRootCertificates; - Attributes::CurrentFabricIndex::TypeInfo::DecodableType currentFabricIndex = static_cast(0); + Attributes::Description::TypeInfo::DecodableType description; + Attributes::StandardNamespace::TypeInfo::DecodableType standardNamespace; + Attributes::SupportedModes::TypeInfo::DecodableType supportedModes; + Attributes::CurrentMode::TypeInfo::DecodableType currentMode = static_cast(0); + Attributes::StartUpMode::TypeInfo::DecodableType startUpMode; + Attributes::OnMode::TypeInfo::DecodableType onMode; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -14763,114 +12599,21 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace OperationalCredentials -namespace GroupKeyManagement { +} // namespace ModeSelect +namespace DoorLock { namespace Structs { -namespace GroupInfoMapStruct { -enum class Fields -{ - kGroupId = 1, - kEndpoints = 2, - kGroupName = 3, - kFabricIndex = 254, -}; - -struct Type -{ -public: - chip::GroupId groupId = static_cast(0); - DataModel::List endpoints; - Optional groupName; - chip::FabricIndex fabricIndex = static_cast(0); - - static constexpr bool kIsFabricScoped = true; - - auto GetFabricIndex() const { return fabricIndex; } - - void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } - - CHIP_ERROR EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const; - CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const; - -private: - CHIP_ERROR DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const; -}; - -struct DecodableType -{ -public: - chip::GroupId groupId = static_cast(0); - DataModel::DecodableList endpoints; - Optional groupName; - chip::FabricIndex fabricIndex = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = true; - - auto GetFabricIndex() const { return fabricIndex; } - - void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } -}; - -} // namespace GroupInfoMapStruct -namespace GroupKeyMapStruct { -enum class Fields -{ - kGroupId = 1, - kGroupKeySetID = 2, - kFabricIndex = 254, -}; - -struct Type -{ -public: - chip::GroupId groupId = static_cast(0); - uint16_t groupKeySetID = static_cast(0); - chip::FabricIndex fabricIndex = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = true; - - auto GetFabricIndex() const { return fabricIndex; } - - void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; } - - CHIP_ERROR EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const; - CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex) const; - -private: - CHIP_ERROR DoEncode(TLV::TLVWriter & writer, TLV::Tag tag, const Optional & accessingFabricIndex) const; -}; - -using DecodableType = Type; - -} // namespace GroupKeyMapStruct -namespace GroupKeySetStruct { +namespace DlCredential { enum class Fields { - kGroupKeySetID = 0, - kGroupKeySecurityPolicy = 1, - kEpochKey0 = 2, - kEpochStartTime0 = 3, - kEpochKey1 = 4, - kEpochStartTime1 = 5, - kEpochKey2 = 6, - kEpochStartTime2 = 7, + kCredentialType = 0, + kCredentialIndex = 1, }; struct Type { public: - uint16_t groupKeySetID = static_cast(0); - GroupKeySecurityPolicy groupKeySecurityPolicy = static_cast(0); - DataModel::Nullable epochKey0; - DataModel::Nullable epochStartTime0; - DataModel::Nullable epochKey1; - DataModel::Nullable epochStartTime1; - DataModel::Nullable epochKey2; - DataModel::Nullable epochStartTime2; + DlCredentialType credentialType = static_cast(0); + uint16_t credentialIndex = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); @@ -14881,155 +12624,260 @@ struct Type using DecodableType = Type; -} // namespace GroupKeySetStruct +} // namespace DlCredential } // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. -namespace KeySetWrite { +namespace LockDoor { struct Type; struct DecodableType; -} // namespace KeySetWrite +} // namespace LockDoor -namespace KeySetRead { +namespace UnlockDoor { struct Type; struct DecodableType; -} // namespace KeySetRead +} // namespace UnlockDoor -namespace KeySetReadResponse { +namespace UnlockWithTimeout { struct Type; struct DecodableType; -} // namespace KeySetReadResponse +} // namespace UnlockWithTimeout -namespace KeySetRemove { +namespace SetWeekDaySchedule { struct Type; struct DecodableType; -} // namespace KeySetRemove +} // namespace SetWeekDaySchedule -namespace KeySetReadAllIndices { +namespace GetWeekDaySchedule { struct Type; struct DecodableType; -} // namespace KeySetReadAllIndices +} // namespace GetWeekDaySchedule -namespace KeySetReadAllIndicesResponse { +namespace GetWeekDayScheduleResponse { struct Type; struct DecodableType; -} // namespace KeySetReadAllIndicesResponse +} // namespace GetWeekDayScheduleResponse -} // namespace Commands +namespace ClearWeekDaySchedule { +struct Type; +struct DecodableType; +} // namespace ClearWeekDaySchedule -namespace Commands { -namespace KeySetWrite { -enum class Fields -{ - kGroupKeySet = 0, -}; +namespace SetYearDaySchedule { +struct Type; +struct DecodableType; +} // namespace SetYearDaySchedule -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::KeySetWrite::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } +namespace GetYearDaySchedule { +struct Type; +struct DecodableType; +} // namespace GetYearDaySchedule - Structs::GroupKeySetStruct::Type groupKeySet; +namespace GetYearDayScheduleResponse { +struct Type; +struct DecodableType; +} // namespace GetYearDayScheduleResponse - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +namespace ClearYearDaySchedule { +struct Type; +struct DecodableType; +} // namespace ClearYearDaySchedule - using ResponseType = DataModel::NullObjectType; +namespace SetHolidaySchedule { +struct Type; +struct DecodableType; +} // namespace SetHolidaySchedule - static constexpr bool MustUseTimedInvoke() { return false; } +namespace GetHolidaySchedule { +struct Type; +struct DecodableType; +} // namespace GetHolidaySchedule + +namespace GetHolidayScheduleResponse { +struct Type; +struct DecodableType; +} // namespace GetHolidayScheduleResponse + +namespace ClearHolidaySchedule { +struct Type; +struct DecodableType; +} // namespace ClearHolidaySchedule + +namespace SetUser { +struct Type; +struct DecodableType; +} // namespace SetUser + +namespace GetUser { +struct Type; +struct DecodableType; +} // namespace GetUser + +namespace GetUserResponse { +struct Type; +struct DecodableType; +} // namespace GetUserResponse + +namespace ClearUser { +struct Type; +struct DecodableType; +} // namespace ClearUser + +namespace SetCredential { +struct Type; +struct DecodableType; +} // namespace SetCredential + +namespace SetCredentialResponse { +struct Type; +struct DecodableType; +} // namespace SetCredentialResponse + +namespace GetCredentialStatus { +struct Type; +struct DecodableType; +} // namespace GetCredentialStatus + +namespace GetCredentialStatusResponse { +struct Type; +struct DecodableType; +} // namespace GetCredentialStatusResponse + +namespace ClearCredential { +struct Type; +struct DecodableType; +} // namespace ClearCredential + +} // namespace Commands + +namespace Commands { +namespace LockDoor { +enum class Fields +{ + kPinCode = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::LockDoor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + Optional pinCode; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return true; } }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::KeySetWrite::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + static constexpr CommandId GetCommandId() { return Commands::LockDoor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - Structs::GroupKeySetStruct::DecodableType groupKeySet; + Optional pinCode; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace KeySetWrite -namespace KeySetRead { +}; // namespace LockDoor +namespace UnlockDoor { enum class Fields { - kGroupKeySetID = 0, + kPinCode = 0, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::KeySetRead::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + static constexpr CommandId GetCommandId() { return Commands::UnlockDoor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - uint16_t groupKeySetID = static_cast(0); + Optional pinCode; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::GroupKeyManagement::Commands::KeySetReadResponse::DecodableType; + using ResponseType = DataModel::NullObjectType; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr bool MustUseTimedInvoke() { return true; } }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::KeySetRead::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + static constexpr CommandId GetCommandId() { return Commands::UnlockDoor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - uint16_t groupKeySetID = static_cast(0); + Optional pinCode; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace KeySetRead -namespace KeySetReadResponse { +}; // namespace UnlockDoor +namespace UnlockWithTimeout { enum class Fields { - kGroupKeySet = 0, + kTimeout = 0, + kPinCode = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::KeySetReadResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + static constexpr CommandId GetCommandId() { return Commands::UnlockWithTimeout::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - Structs::GroupKeySetStruct::Type groupKeySet; + uint16_t timeout = static_cast(0); + Optional pinCode; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; using ResponseType = DataModel::NullObjectType; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr bool MustUseTimedInvoke() { return true; } }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::KeySetReadResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + static constexpr CommandId GetCommandId() { return Commands::UnlockWithTimeout::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - Structs::GroupKeySetStruct::DecodableType groupKeySet; + uint16_t timeout = static_cast(0); + Optional pinCode; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace KeySetReadResponse -namespace KeySetRemove { +}; // namespace UnlockWithTimeout +namespace SetWeekDaySchedule { enum class Fields { - kGroupKeySetID = 0, + kWeekDayIndex = 0, + kUserIndex = 1, + kDaysMask = 2, + kStartHour = 3, + kStartMinute = 4, + kEndHour = 5, + kEndMinute = 6, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::KeySetRemove::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + static constexpr CommandId GetCommandId() { return Commands::SetWeekDaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - uint16_t groupKeySetID = static_cast(0); + uint8_t weekDayIndex = static_cast(0); + uint16_t userIndex = static_cast(0); + chip::BitMask daysMask = static_cast>(0); + uint8_t startHour = static_cast(0); + uint8_t startMinute = static_cast(0); + uint8_t endHour = static_cast(0); + uint8_t endMinute = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -15041,31 +12889,39 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::KeySetRemove::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + static constexpr CommandId GetCommandId() { return Commands::SetWeekDaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - uint16_t groupKeySetID = static_cast(0); + uint8_t weekDayIndex = static_cast(0); + uint16_t userIndex = static_cast(0); + chip::BitMask daysMask = static_cast>(0); + uint8_t startHour = static_cast(0); + uint8_t startMinute = static_cast(0); + uint8_t endHour = static_cast(0); + uint8_t endMinute = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace KeySetRemove -namespace KeySetReadAllIndices { +}; // namespace SetWeekDaySchedule +namespace GetWeekDaySchedule { enum class Fields { - kGroupKeySetIDs = 0, + kWeekDayIndex = 0, + kUserIndex = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::KeySetReadAllIndices::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + static constexpr CommandId GetCommandId() { return Commands::GetWeekDaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - DataModel::List groupKeySetIDs; + uint8_t weekDayIndex = static_cast(0); + uint16_t userIndex = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::GroupKeyManagement::Commands::KeySetReadAllIndicesResponse::DecodableType; + using ResponseType = Clusters::DoorLock::Commands::GetWeekDayScheduleResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -15073,27 +12929,42 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::KeySetReadAllIndices::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + static constexpr CommandId GetCommandId() { return Commands::GetWeekDaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - DataModel::DecodableList groupKeySetIDs; + uint8_t weekDayIndex = static_cast(0); + uint16_t userIndex = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace KeySetReadAllIndices -namespace KeySetReadAllIndicesResponse { +}; // namespace GetWeekDaySchedule +namespace GetWeekDayScheduleResponse { enum class Fields { - kGroupKeySetIDs = 0, + kWeekDayIndex = 0, + kUserIndex = 1, + kStatus = 2, + kDaysMask = 3, + kStartHour = 4, + kStartMinute = 5, + kEndHour = 6, + kEndMinute = 7, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::KeySetReadAllIndicesResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + static constexpr CommandId GetCommandId() { return Commands::GetWeekDayScheduleResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - DataModel::List groupKeySetIDs; + uint8_t weekDayIndex = static_cast(0); + uint16_t userIndex = static_cast(0); + DlStatus status = static_cast(0); + Optional> daysMask; + Optional startHour; + Optional startMinute; + Optional endHour; + Optional endMinute; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -15105,600 +12976,597 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::KeySetReadAllIndicesResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + static constexpr CommandId GetCommandId() { return Commands::GetWeekDayScheduleResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - DataModel::DecodableList groupKeySetIDs; + uint8_t weekDayIndex = static_cast(0); + uint16_t userIndex = static_cast(0); + DlStatus status = static_cast(0); + Optional> daysMask; + Optional startHour; + Optional startMinute; + Optional endHour; + Optional endMinute; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace KeySetReadAllIndicesResponse -} // namespace Commands - -namespace Attributes { +}; // namespace GetWeekDayScheduleResponse +namespace ClearWeekDaySchedule { +enum class Fields +{ + kWeekDayIndex = 0, + kUserIndex = 1, +}; -namespace GroupKeyMap { -struct TypeInfo +struct Type { - using Type = chip::app::DataModel::List; - using DecodableType = - chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList< - chip::app::Clusters::GroupKeyManagement::Structs::GroupKeyMapStruct::DecodableType> &; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ClearWeekDaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::GroupKeyMap::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t weekDayIndex = static_cast(0); + uint16_t userIndex = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace GroupKeyMap -namespace GroupTable { -struct TypeInfo + +struct DecodableType { - using Type = chip::app::DataModel::List; - using DecodableType = - chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList< - chip::app::Clusters::GroupKeyManagement::Structs::GroupInfoMapStruct::DecodableType> &; +public: + static constexpr CommandId GetCommandId() { return Commands::ClearWeekDaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::GroupTable::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t weekDayIndex = static_cast(0); + uint16_t userIndex = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace GroupTable -namespace MaxGroupsPerFabric { -struct TypeInfo +}; // namespace ClearWeekDaySchedule +namespace SetYearDaySchedule { +enum class Fields { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxGroupsPerFabric::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kYearDayIndex = 0, + kUserIndex = 1, + kLocalStartTime = 2, + kLocalEndTime = 3, }; -} // namespace MaxGroupsPerFabric -namespace MaxGroupKeysPerFabric { -struct TypeInfo + +struct Type { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SetYearDaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxGroupKeysPerFabric::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t yearDayIndex = static_cast(0); + uint16_t userIndex = static_cast(0); + uint32_t localStartTime = static_cast(0); + uint32_t localEndTime = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace MaxGroupKeysPerFabric -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::SetYearDaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + uint8_t yearDayIndex = static_cast(0); + uint16_t userIndex = static_cast(0); + uint32_t localStartTime = static_cast(0); + uint32_t localEndTime = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +}; // namespace SetYearDaySchedule +namespace GetYearDaySchedule { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + kYearDayIndex = 0, + kUserIndex = 1, }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::GetYearDaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + uint8_t yearDayIndex = static_cast(0); + uint16_t userIndex = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::DoorLock::Commands::GetYearDayScheduleResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::GetYearDaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + uint8_t yearDayIndex = static_cast(0); + uint16_t userIndex = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +}; // namespace GetYearDaySchedule +namespace GetYearDayScheduleResponse { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + kYearDayIndex = 0, + kUserIndex = 1, + kStatus = 2, + kLocalStartTime = 3, + kLocalEndTime = 4, }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::GetYearDayScheduleResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - Attributes::GroupKeyMap::TypeInfo::DecodableType groupKeyMap; - Attributes::GroupTable::TypeInfo::DecodableType groupTable; - Attributes::MaxGroupsPerFabric::TypeInfo::DecodableType maxGroupsPerFabric = static_cast(0); - Attributes::MaxGroupKeysPerFabric::TypeInfo::DecodableType maxGroupKeysPerFabric = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace GroupKeyManagement -namespace FixedLabel { -namespace Structs { -namespace LabelStruct = Clusters::detail::Structs::LabelStruct; -} // namespace Structs + uint8_t yearDayIndex = static_cast(0); + uint16_t userIndex = static_cast(0); + DlStatus status = static_cast(0); + Optional localStartTime; + Optional localEndTime; -namespace Attributes { + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -namespace LabelList { -struct TypeInfo -{ - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = - const chip::app::DataModel::DecodableList &; + using ResponseType = DataModel::NullObjectType; - static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LabelList::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace LabelList -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::GetYearDayScheduleResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + uint8_t yearDayIndex = static_cast(0); + uint16_t userIndex = static_cast(0); + DlStatus status = static_cast(0); + Optional localStartTime; + Optional localEndTime; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +}; // namespace GetYearDayScheduleResponse +namespace ClearYearDaySchedule { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } + kYearDayIndex = 0, + kUserIndex = 1, }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ClearYearDaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + uint8_t yearDayIndex = static_cast(0); + uint16_t userIndex = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::ClearYearDaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + uint8_t yearDayIndex = static_cast(0); + uint16_t userIndex = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +}; // namespace ClearYearDaySchedule +namespace SetHolidaySchedule { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } + kHolidayIndex = 0, + kLocalStartTime = 1, + kLocalEndTime = 2, + kOperatingMode = 3, }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SetHolidaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - Attributes::LabelList::TypeInfo::DecodableType labelList; - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace FixedLabel -namespace UserLabel { -namespace Structs { -namespace LabelStruct = Clusters::detail::Structs::LabelStruct; -} // namespace Structs + uint8_t holidayIndex = static_cast(0); + uint32_t localStartTime = static_cast(0); + uint32_t localEndTime = static_cast(0); + DlOperatingMode operatingMode = static_cast(0); -namespace Attributes { + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -namespace LabelList { -struct TypeInfo -{ - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = - const chip::app::DataModel::DecodableList &; + using ResponseType = DataModel::NullObjectType; - static constexpr ClusterId GetClusterId() { return Clusters::UserLabel::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LabelList::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace LabelList -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::UserLabel::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::UserLabel::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::UserLabel::Id; } + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::UserLabel::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::SetHolidaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + uint8_t holidayIndex = static_cast(0); + uint32_t localStartTime = static_cast(0); + uint32_t localEndTime = static_cast(0); + DlOperatingMode operatingMode = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +}; // namespace SetHolidaySchedule +namespace GetHolidaySchedule { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::UserLabel::Id; } + kHolidayIndex = 0, }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::UserLabel::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::GetHolidaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + uint8_t holidayIndex = static_cast(0); - Attributes::LabelList::TypeInfo::DecodableType labelList; - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace UserLabel -namespace ProxyConfiguration { + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -namespace Attributes { + using ResponseType = Clusters::DoorLock::Commands::GetHolidayScheduleResponse::DecodableType; -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ProxyConfiguration::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ProxyConfiguration::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ProxyConfiguration::Id; } + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::ProxyConfiguration::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::GetHolidaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + uint8_t holidayIndex = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +}; // namespace GetHolidaySchedule +namespace GetHolidayScheduleResponse { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::ProxyConfiguration::Id; } + kHolidayIndex = 0, + kStatus = 1, + kLocalStartTime = 2, + kLocalEndTime = 3, + kOperatingMode = 4, }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::ProxyConfiguration::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::GetHolidayScheduleResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + uint8_t holidayIndex = static_cast(0); + DlStatus status = static_cast(0); + Optional localStartTime; + Optional localEndTime; + Optional operatingMode; - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace ProxyConfiguration -namespace ProxyDiscovery { + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -namespace Attributes { + using ResponseType = DataModel::NullObjectType; -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ProxyDiscovery::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ProxyDiscovery::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ProxyDiscovery::Id; } + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::ProxyDiscovery::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::GetHolidayScheduleResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + uint8_t holidayIndex = static_cast(0); + DlStatus status = static_cast(0); + Optional localStartTime; + Optional localEndTime; + Optional operatingMode; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +}; // namespace GetHolidayScheduleResponse +namespace ClearHolidaySchedule { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::ProxyDiscovery::Id; } + kHolidayIndex = 0, }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::ProxyDiscovery::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ClearHolidaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + uint8_t holidayIndex = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace ProxyDiscovery -namespace ProxyValid { + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -namespace Attributes { + using ResponseType = DataModel::NullObjectType; -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ProxyValid::Id; } + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::ProxyValid::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ProxyValid::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ProxyValid::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::ClearHolidaySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + uint8_t holidayIndex = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +}; // namespace ClearHolidaySchedule +namespace SetUser { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::ProxyValid::Id; } + kOperationType = 0, + kUserIndex = 1, + kUserName = 2, + kUserUniqueId = 3, + kUserStatus = 4, + kUserType = 5, + kCredentialRule = 6, }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::ProxyValid::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SetUser::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace ProxyValid -namespace BooleanState { + DlDataOperationType operationType = static_cast(0); + uint16_t userIndex = static_cast(0); + DataModel::Nullable userName; + DataModel::Nullable userUniqueId; + DataModel::Nullable userStatus; + DataModel::Nullable userType; + DataModel::Nullable credentialRule; -namespace Attributes { + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -namespace StateValue { -struct TypeInfo -{ - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; + using ResponseType = DataModel::NullObjectType; - static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::StateValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace StateValue -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } + static constexpr bool MustUseTimedInvoke() { return true; } }; -} // namespace ClusterRevision -struct TypeInfo +struct DecodableType { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +public: + static constexpr CommandId GetCommandId() { return Commands::SetUser::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - Attributes::StateValue::TypeInfo::DecodableType stateValue = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + DlDataOperationType operationType = static_cast(0); + uint16_t userIndex = static_cast(0); + DataModel::Nullable userName; + DataModel::Nullable userUniqueId; + DataModel::Nullable userStatus; + DataModel::Nullable userType; + DataModel::Nullable credentialRule; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Attributes -namespace Events { -namespace StateChange { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - +}; // namespace SetUser +namespace GetUser { enum class Fields { - kStateValue = 0, + kUserIndex = 0, }; struct Type { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::StateChange::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } - static constexpr bool kIsFabricScoped = false; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::GetUser::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - bool stateValue = static_cast(0); + uint16_t userIndex = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::DoorLock::Commands::GetUserResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::StateChange::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } - - bool stateValue = static_cast(0); + static constexpr CommandId GetCommandId() { return Commands::GetUser::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + uint16_t userIndex = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace StateChange -} // namespace Events -} // namespace BooleanState -namespace ModeSelect { -namespace Structs { -namespace SemanticTag { +}; // namespace GetUser +namespace GetUserResponse { enum class Fields { - kMfgCode = 0, - kValue = 1, + kUserIndex = 0, + kUserName = 1, + kUserUniqueId = 2, + kUserStatus = 3, + kUserType = 4, + kCredentialRule = 5, + kCredentials = 6, + kCreatorFabricIndex = 7, + kLastModifiedFabricIndex = 8, + kNextUserIndex = 9, }; struct Type { public: - uint16_t mfgCode = static_cast(0); - uint16_t value = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::GetUserResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr bool kIsFabricScoped = false; + uint16_t userIndex = static_cast(0); + DataModel::Nullable userName; + DataModel::Nullable userUniqueId; + DataModel::Nullable userStatus; + DataModel::Nullable userType; + DataModel::Nullable credentialRule; + DataModel::Nullable> credentials; + DataModel::Nullable creatorFabricIndex; + DataModel::Nullable lastModifiedFabricIndex; + DataModel::Nullable nextUserIndex; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -using DecodableType = Type; +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::GetUserResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } -} // namespace SemanticTag -namespace ModeOptionStruct { + uint16_t userIndex = static_cast(0); + DataModel::Nullable userName; + DataModel::Nullable userUniqueId; + DataModel::Nullable userStatus; + DataModel::Nullable userType; + DataModel::Nullable credentialRule; + DataModel::Nullable> credentials; + DataModel::Nullable creatorFabricIndex; + DataModel::Nullable lastModifiedFabricIndex; + DataModel::Nullable nextUserIndex; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace GetUserResponse +namespace ClearUser { enum class Fields { - kLabel = 0, - kMode = 1, - kSemanticTags = 2, + kUserIndex = 0, }; struct Type { public: - chip::CharSpan label; - uint8_t mode = static_cast(0); - DataModel::List semanticTags; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ClearUser::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr bool kIsFabricScoped = false; + uint16_t userIndex = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return true; } }; struct DecodableType { public: - chip::CharSpan label; - uint8_t mode = static_cast(0); - DataModel::DecodableList semanticTags; + static constexpr CommandId GetCommandId() { return Commands::ClearUser::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + uint16_t userIndex = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; +}; +}; // namespace ClearUser +namespace SetCredential { +enum class Fields +{ + kOperationType = 0, + kCredential = 1, + kCredentialData = 2, + kUserIndex = 3, + kUserStatus = 4, + kUserType = 5, }; -} // namespace ModeOptionStruct -} // namespace Structs - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace ChangeToMode { -struct Type; -struct DecodableType; -} // namespace ChangeToMode - -} // namespace Commands +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SetCredential::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } -namespace Commands { -namespace ChangeToMode { + DlDataOperationType operationType = static_cast(0); + Structs::DlCredential::Type credential; + chip::ByteSpan credentialData; + DataModel::Nullable userIndex; + DataModel::Nullable userStatus; + DataModel::Nullable userType; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::DoorLock::Commands::SetCredentialResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return true; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::SetCredential::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + DlDataOperationType operationType = static_cast(0); + Structs::DlCredential::DecodableType credential; + chip::ByteSpan credentialData; + DataModel::Nullable userIndex; + DataModel::Nullable userStatus; + DataModel::Nullable userType; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace SetCredential +namespace SetCredentialResponse { enum class Fields { - kNewMode = 0, + kStatus = 0, + kUserIndex = 1, + kNextCredentialIndex = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ChangeToMode::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } + static constexpr CommandId GetCommandId() { return Commands::SetCredentialResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - uint8_t newMode = static_cast(0); + DlStatus status = static_cast(0); + DataModel::Nullable userIndex; + DataModel::Nullable nextCredentialIndex; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -15710,7156 +13578,1422 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::ChangeToMode::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } + static constexpr CommandId GetCommandId() { return Commands::SetCredentialResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - uint8_t newMode = static_cast(0); + DlStatus status = static_cast(0); + DataModel::Nullable userIndex; + DataModel::Nullable nextCredentialIndex; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace ChangeToMode +}; // namespace SetCredentialResponse +namespace GetCredentialStatus { +enum class Fields +{ + kCredential = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::GetCredentialStatus::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + Structs::DlCredential::Type credential; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::DoorLock::Commands::GetCredentialStatusResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::GetCredentialStatus::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + Structs::DlCredential::DecodableType credential; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace GetCredentialStatus +namespace GetCredentialStatusResponse { +enum class Fields +{ + kCredentialExists = 0, + kUserIndex = 1, + kCreatorFabricIndex = 2, + kLastModifiedFabricIndex = 3, + kNextCredentialIndex = 4, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::GetCredentialStatusResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + bool credentialExists = static_cast(0); + DataModel::Nullable userIndex; + DataModel::Nullable creatorFabricIndex; + DataModel::Nullable lastModifiedFabricIndex; + DataModel::Nullable nextCredentialIndex; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::GetCredentialStatusResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + bool credentialExists = static_cast(0); + DataModel::Nullable userIndex; + DataModel::Nullable creatorFabricIndex; + DataModel::Nullable lastModifiedFabricIndex; + DataModel::Nullable nextCredentialIndex; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace GetCredentialStatusResponse +namespace ClearCredential { +enum class Fields +{ + kCredential = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ClearCredential::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + DataModel::Nullable credential; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return true; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::ClearCredential::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + + DataModel::Nullable credential; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace ClearCredential } // namespace Commands namespace Attributes { -namespace Description { +namespace LockState { struct TypeInfo { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Description::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LockState::Id; } static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } }; -} // namespace Description -namespace StandardNamespace { +} // namespace LockState +namespace LockType { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = chip::app::Clusters::DoorLock::DlLockType; + using DecodableType = chip::app::Clusters::DoorLock::DlLockType; + using DecodableArgType = chip::app::Clusters::DoorLock::DlLockType; - static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::StandardNamespace::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LockType::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace StandardNamespace -namespace SupportedModes { +} // namespace LockType +namespace ActuatorEnabled { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = - chip::app::DataModel::DecodableList; - using DecodableArgType = - const chip::app::DataModel::DecodableList &; + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; - static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SupportedModes::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ActuatorEnabled::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace SupportedModes -namespace CurrentMode { +} // namespace ActuatorEnabled +namespace DoorState { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentMode::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::DoorState::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentMode -namespace StartUpMode { +} // namespace DoorState +namespace DoorOpenEvents { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::StartUpMode::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::DoorOpenEvents::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace StartUpMode -namespace OnMode { +} // namespace DoorOpenEvents +namespace DoorClosedEvents { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OnMode::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::DoorClosedEvents::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace OnMode -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace DoorClosedEvents +namespace OpenPeriod { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OpenPeriod::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace OpenPeriod +namespace NumberOfTotalUsersSupported { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } -}; -} // namespace ClusterRevision + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfTotalUsersSupported::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace NumberOfTotalUsersSupported +namespace NumberOfPINUsersSupported { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::ModeSelect::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - Attributes::Description::TypeInfo::DecodableType description; - Attributes::StandardNamespace::TypeInfo::DecodableType standardNamespace; - Attributes::SupportedModes::TypeInfo::DecodableType supportedModes; - Attributes::CurrentMode::TypeInfo::DecodableType currentMode = static_cast(0); - Attributes::StartUpMode::TypeInfo::DecodableType startUpMode; - Attributes::OnMode::TypeInfo::DecodableType onMode; - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfPINUsersSupported::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace ModeSelect -namespace ShadeConfiguration { - -namespace Attributes { - -namespace PhysicalClosedLimit { +} // namespace NumberOfPINUsersSupported +namespace NumberOfRFIDUsersSupported { struct TypeInfo { using Type = uint16_t; using DecodableType = uint16_t; using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalClosedLimit::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfRFIDUsersSupported::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace PhysicalClosedLimit -namespace MotorStepSize { +} // namespace NumberOfRFIDUsersSupported +namespace NumberOfWeekDaySchedulesSupportedPerUser { struct TypeInfo { using Type = uint8_t; using DecodableType = uint8_t; using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MotorStepSize::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfWeekDaySchedulesSupportedPerUser::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MotorStepSize -namespace Status { +} // namespace NumberOfWeekDaySchedulesSupportedPerUser +namespace NumberOfYearDaySchedulesSupportedPerUser { struct TypeInfo { using Type = uint8_t; using DecodableType = uint8_t; using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Status::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfYearDaySchedulesSupportedPerUser::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Status -namespace ClosedLimit { +} // namespace NumberOfYearDaySchedulesSupportedPerUser +namespace NumberOfHolidaySchedulesSupported { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ClosedLimit::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfHolidaySchedulesSupported::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ClosedLimit -namespace Mode { +} // namespace NumberOfHolidaySchedulesSupported +namespace MaxPINCodeLength { struct TypeInfo { using Type = uint8_t; using DecodableType = uint8_t; using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Mode::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxPINCodeLength::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Mode -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +} // namespace MaxPINCodeLength +namespace MinPINCodeLength { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinPINCodeLength::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +} // namespace MinPINCodeLength +namespace MaxRFIDCodeLength { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxRFIDCodeLength::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +} // namespace MaxRFIDCodeLength +namespace MinRFIDCodeLength { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinRFIDCodeLength::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace MinRFIDCodeLength +namespace CredentialRulesSupport { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } + using Type = chip::BitMask; + using DecodableType = chip::BitMask; + using DecodableArgType = chip::BitMask; + + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CredentialRulesSupport::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace CredentialRulesSupport +namespace NumberOfCredentialsSupportedPerUser { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } -}; -} // namespace ClusterRevision + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfCredentialsSupportedPerUser::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace NumberOfCredentialsSupportedPerUser +namespace Language { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - Attributes::PhysicalClosedLimit::TypeInfo::DecodableType physicalClosedLimit = static_cast(0); - Attributes::MotorStepSize::TypeInfo::DecodableType motorStepSize = static_cast(0); - Attributes::Status::TypeInfo::DecodableType status = static_cast(0); - Attributes::ClosedLimit::TypeInfo::DecodableType closedLimit = static_cast(0); - Attributes::Mode::TypeInfo::DecodableType mode = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Language::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 3; } }; -} // namespace Attributes -} // namespace ShadeConfiguration -namespace DoorLock { -namespace Structs { -namespace DlCredential { -enum class Fields +} // namespace Language +namespace LEDSettings { +struct TypeInfo { - kCredentialType = 0, - kCredentialIndex = 1, -}; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LEDSettings::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace LEDSettings +namespace AutoRelockTime { +struct TypeInfo { -public: - DlCredentialType credentialType = static_cast(0); - uint16_t credentialIndex = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::AutoRelockTime::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; +} // namespace AutoRelockTime +namespace SoundVolume { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; -using DecodableType = Type; - -} // namespace DlCredential -} // namespace Structs - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace LockDoor { -struct Type; -struct DecodableType; -} // namespace LockDoor - -namespace UnlockDoor { -struct Type; -struct DecodableType; -} // namespace UnlockDoor - -namespace UnlockWithTimeout { -struct Type; -struct DecodableType; -} // namespace UnlockWithTimeout - -namespace SetWeekDaySchedule { -struct Type; -struct DecodableType; -} // namespace SetWeekDaySchedule - -namespace GetWeekDaySchedule { -struct Type; -struct DecodableType; -} // namespace GetWeekDaySchedule - -namespace GetWeekDayScheduleResponse { -struct Type; -struct DecodableType; -} // namespace GetWeekDayScheduleResponse - -namespace ClearWeekDaySchedule { -struct Type; -struct DecodableType; -} // namespace ClearWeekDaySchedule - -namespace SetYearDaySchedule { -struct Type; -struct DecodableType; -} // namespace SetYearDaySchedule - -namespace GetYearDaySchedule { -struct Type; -struct DecodableType; -} // namespace GetYearDaySchedule - -namespace GetYearDayScheduleResponse { -struct Type; -struct DecodableType; -} // namespace GetYearDayScheduleResponse - -namespace ClearYearDaySchedule { -struct Type; -struct DecodableType; -} // namespace ClearYearDaySchedule - -namespace SetHolidaySchedule { -struct Type; -struct DecodableType; -} // namespace SetHolidaySchedule - -namespace GetHolidaySchedule { -struct Type; -struct DecodableType; -} // namespace GetHolidaySchedule - -namespace GetHolidayScheduleResponse { -struct Type; -struct DecodableType; -} // namespace GetHolidayScheduleResponse - -namespace ClearHolidaySchedule { -struct Type; -struct DecodableType; -} // namespace ClearHolidaySchedule - -namespace SetUser { -struct Type; -struct DecodableType; -} // namespace SetUser - -namespace GetUser { -struct Type; -struct DecodableType; -} // namespace GetUser - -namespace GetUserResponse { -struct Type; -struct DecodableType; -} // namespace GetUserResponse - -namespace ClearUser { -struct Type; -struct DecodableType; -} // namespace ClearUser - -namespace SetCredential { -struct Type; -struct DecodableType; -} // namespace SetCredential - -namespace SetCredentialResponse { -struct Type; -struct DecodableType; -} // namespace SetCredentialResponse - -namespace GetCredentialStatus { -struct Type; -struct DecodableType; -} // namespace GetCredentialStatus - -namespace GetCredentialStatusResponse { -struct Type; -struct DecodableType; -} // namespace GetCredentialStatusResponse - -namespace ClearCredential { -struct Type; -struct DecodableType; -} // namespace ClearCredential - -} // namespace Commands - -namespace Commands { -namespace LockDoor { -enum class Fields -{ - kPinCode = 0, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::LockDoor::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - Optional pinCode; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return true; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::LockDoor::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - Optional pinCode; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace LockDoor -namespace UnlockDoor { -enum class Fields -{ - kPinCode = 0, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::UnlockDoor::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - Optional pinCode; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return true; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::UnlockDoor::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - Optional pinCode; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace UnlockDoor -namespace UnlockWithTimeout { -enum class Fields -{ - kTimeout = 0, - kPinCode = 1, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::UnlockWithTimeout::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint16_t timeout = static_cast(0); - Optional pinCode; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return true; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::UnlockWithTimeout::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint16_t timeout = static_cast(0); - Optional pinCode; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace UnlockWithTimeout -namespace SetWeekDaySchedule { -enum class Fields -{ - kWeekDayIndex = 0, - kUserIndex = 1, - kDaysMask = 2, - kStartHour = 3, - kStartMinute = 4, - kEndHour = 5, - kEndMinute = 6, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SetWeekDaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t weekDayIndex = static_cast(0); - uint16_t userIndex = static_cast(0); - chip::BitMask daysMask = static_cast>(0); - uint8_t startHour = static_cast(0); - uint8_t startMinute = static_cast(0); - uint8_t endHour = static_cast(0); - uint8_t endMinute = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::SetWeekDaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t weekDayIndex = static_cast(0); - uint16_t userIndex = static_cast(0); - chip::BitMask daysMask = static_cast>(0); - uint8_t startHour = static_cast(0); - uint8_t startMinute = static_cast(0); - uint8_t endHour = static_cast(0); - uint8_t endMinute = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace SetWeekDaySchedule -namespace GetWeekDaySchedule { -enum class Fields -{ - kWeekDayIndex = 0, - kUserIndex = 1, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetWeekDaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t weekDayIndex = static_cast(0); - uint16_t userIndex = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::DoorLock::Commands::GetWeekDayScheduleResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GetWeekDaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t weekDayIndex = static_cast(0); - uint16_t userIndex = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GetWeekDaySchedule -namespace GetWeekDayScheduleResponse { -enum class Fields -{ - kWeekDayIndex = 0, - kUserIndex = 1, - kStatus = 2, - kDaysMask = 3, - kStartHour = 4, - kStartMinute = 5, - kEndHour = 6, - kEndMinute = 7, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetWeekDayScheduleResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t weekDayIndex = static_cast(0); - uint16_t userIndex = static_cast(0); - DlStatus status = static_cast(0); - Optional> daysMask; - Optional startHour; - Optional startMinute; - Optional endHour; - Optional endMinute; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GetWeekDayScheduleResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t weekDayIndex = static_cast(0); - uint16_t userIndex = static_cast(0); - DlStatus status = static_cast(0); - Optional> daysMask; - Optional startHour; - Optional startMinute; - Optional endHour; - Optional endMinute; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GetWeekDayScheduleResponse -namespace ClearWeekDaySchedule { -enum class Fields -{ - kWeekDayIndex = 0, - kUserIndex = 1, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ClearWeekDaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t weekDayIndex = static_cast(0); - uint16_t userIndex = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::ClearWeekDaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t weekDayIndex = static_cast(0); - uint16_t userIndex = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace ClearWeekDaySchedule -namespace SetYearDaySchedule { -enum class Fields -{ - kYearDayIndex = 0, - kUserIndex = 1, - kLocalStartTime = 2, - kLocalEndTime = 3, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SetYearDaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t yearDayIndex = static_cast(0); - uint16_t userIndex = static_cast(0); - uint32_t localStartTime = static_cast(0); - uint32_t localEndTime = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::SetYearDaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t yearDayIndex = static_cast(0); - uint16_t userIndex = static_cast(0); - uint32_t localStartTime = static_cast(0); - uint32_t localEndTime = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace SetYearDaySchedule -namespace GetYearDaySchedule { -enum class Fields -{ - kYearDayIndex = 0, - kUserIndex = 1, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetYearDaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t yearDayIndex = static_cast(0); - uint16_t userIndex = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::DoorLock::Commands::GetYearDayScheduleResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GetYearDaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t yearDayIndex = static_cast(0); - uint16_t userIndex = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GetYearDaySchedule -namespace GetYearDayScheduleResponse { -enum class Fields -{ - kYearDayIndex = 0, - kUserIndex = 1, - kStatus = 2, - kLocalStartTime = 3, - kLocalEndTime = 4, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetYearDayScheduleResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t yearDayIndex = static_cast(0); - uint16_t userIndex = static_cast(0); - DlStatus status = static_cast(0); - Optional localStartTime; - Optional localEndTime; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GetYearDayScheduleResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t yearDayIndex = static_cast(0); - uint16_t userIndex = static_cast(0); - DlStatus status = static_cast(0); - Optional localStartTime; - Optional localEndTime; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GetYearDayScheduleResponse -namespace ClearYearDaySchedule { -enum class Fields -{ - kYearDayIndex = 0, - kUserIndex = 1, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ClearYearDaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t yearDayIndex = static_cast(0); - uint16_t userIndex = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::ClearYearDaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t yearDayIndex = static_cast(0); - uint16_t userIndex = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace ClearYearDaySchedule -namespace SetHolidaySchedule { -enum class Fields -{ - kHolidayIndex = 0, - kLocalStartTime = 1, - kLocalEndTime = 2, - kOperatingMode = 3, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SetHolidaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t holidayIndex = static_cast(0); - uint32_t localStartTime = static_cast(0); - uint32_t localEndTime = static_cast(0); - DlOperatingMode operatingMode = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::SetHolidaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t holidayIndex = static_cast(0); - uint32_t localStartTime = static_cast(0); - uint32_t localEndTime = static_cast(0); - DlOperatingMode operatingMode = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace SetHolidaySchedule -namespace GetHolidaySchedule { -enum class Fields -{ - kHolidayIndex = 0, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetHolidaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t holidayIndex = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::DoorLock::Commands::GetHolidayScheduleResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GetHolidaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t holidayIndex = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GetHolidaySchedule -namespace GetHolidayScheduleResponse { -enum class Fields -{ - kHolidayIndex = 0, - kStatus = 1, - kLocalStartTime = 2, - kLocalEndTime = 3, - kOperatingMode = 4, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetHolidayScheduleResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t holidayIndex = static_cast(0); - DlStatus status = static_cast(0); - Optional localStartTime; - Optional localEndTime; - Optional operatingMode; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GetHolidayScheduleResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t holidayIndex = static_cast(0); - DlStatus status = static_cast(0); - Optional localStartTime; - Optional localEndTime; - Optional operatingMode; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GetHolidayScheduleResponse -namespace ClearHolidaySchedule { -enum class Fields -{ - kHolidayIndex = 0, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ClearHolidaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t holidayIndex = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::ClearHolidaySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint8_t holidayIndex = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace ClearHolidaySchedule -namespace SetUser { -enum class Fields -{ - kOperationType = 0, - kUserIndex = 1, - kUserName = 2, - kUserUniqueId = 3, - kUserStatus = 4, - kUserType = 5, - kCredentialRule = 6, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SetUser::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - DlDataOperationType operationType = static_cast(0); - uint16_t userIndex = static_cast(0); - DataModel::Nullable userName; - DataModel::Nullable userUniqueId; - DataModel::Nullable userStatus; - DataModel::Nullable userType; - DataModel::Nullable credentialRule; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return true; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::SetUser::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - DlDataOperationType operationType = static_cast(0); - uint16_t userIndex = static_cast(0); - DataModel::Nullable userName; - DataModel::Nullable userUniqueId; - DataModel::Nullable userStatus; - DataModel::Nullable userType; - DataModel::Nullable credentialRule; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace SetUser -namespace GetUser { -enum class Fields -{ - kUserIndex = 0, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetUser::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint16_t userIndex = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::DoorLock::Commands::GetUserResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GetUser::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint16_t userIndex = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GetUser -namespace GetUserResponse { -enum class Fields -{ - kUserIndex = 0, - kUserName = 1, - kUserUniqueId = 2, - kUserStatus = 3, - kUserType = 4, - kCredentialRule = 5, - kCredentials = 6, - kCreatorFabricIndex = 7, - kLastModifiedFabricIndex = 8, - kNextUserIndex = 9, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetUserResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint16_t userIndex = static_cast(0); - DataModel::Nullable userName; - DataModel::Nullable userUniqueId; - DataModel::Nullable userStatus; - DataModel::Nullable userType; - DataModel::Nullable credentialRule; - DataModel::Nullable> credentials; - DataModel::Nullable creatorFabricIndex; - DataModel::Nullable lastModifiedFabricIndex; - DataModel::Nullable nextUserIndex; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GetUserResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint16_t userIndex = static_cast(0); - DataModel::Nullable userName; - DataModel::Nullable userUniqueId; - DataModel::Nullable userStatus; - DataModel::Nullable userType; - DataModel::Nullable credentialRule; - DataModel::Nullable> credentials; - DataModel::Nullable creatorFabricIndex; - DataModel::Nullable lastModifiedFabricIndex; - DataModel::Nullable nextUserIndex; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GetUserResponse -namespace ClearUser { -enum class Fields -{ - kUserIndex = 0, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ClearUser::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint16_t userIndex = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return true; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::ClearUser::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - uint16_t userIndex = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace ClearUser -namespace SetCredential { -enum class Fields -{ - kOperationType = 0, - kCredential = 1, - kCredentialData = 2, - kUserIndex = 3, - kUserStatus = 4, - kUserType = 5, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SetCredential::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - DlDataOperationType operationType = static_cast(0); - Structs::DlCredential::Type credential; - chip::ByteSpan credentialData; - DataModel::Nullable userIndex; - DataModel::Nullable userStatus; - DataModel::Nullable userType; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::DoorLock::Commands::SetCredentialResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return true; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::SetCredential::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - DlDataOperationType operationType = static_cast(0); - Structs::DlCredential::DecodableType credential; - chip::ByteSpan credentialData; - DataModel::Nullable userIndex; - DataModel::Nullable userStatus; - DataModel::Nullable userType; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace SetCredential -namespace SetCredentialResponse { -enum class Fields -{ - kStatus = 0, - kUserIndex = 1, - kNextCredentialIndex = 2, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SetCredentialResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - DlStatus status = static_cast(0); - DataModel::Nullable userIndex; - DataModel::Nullable nextCredentialIndex; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::SetCredentialResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - DlStatus status = static_cast(0); - DataModel::Nullable userIndex; - DataModel::Nullable nextCredentialIndex; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace SetCredentialResponse -namespace GetCredentialStatus { -enum class Fields -{ - kCredential = 0, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetCredentialStatus::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - Structs::DlCredential::Type credential; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::DoorLock::Commands::GetCredentialStatusResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GetCredentialStatus::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - Structs::DlCredential::DecodableType credential; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GetCredentialStatus -namespace GetCredentialStatusResponse { -enum class Fields -{ - kCredentialExists = 0, - kUserIndex = 1, - kCreatorFabricIndex = 2, - kLastModifiedFabricIndex = 3, - kNextCredentialIndex = 4, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetCredentialStatusResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - bool credentialExists = static_cast(0); - DataModel::Nullable userIndex; - DataModel::Nullable creatorFabricIndex; - DataModel::Nullable lastModifiedFabricIndex; - DataModel::Nullable nextCredentialIndex; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GetCredentialStatusResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - bool credentialExists = static_cast(0); - DataModel::Nullable userIndex; - DataModel::Nullable creatorFabricIndex; - DataModel::Nullable lastModifiedFabricIndex; - DataModel::Nullable nextCredentialIndex; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GetCredentialStatusResponse -namespace ClearCredential { -enum class Fields -{ - kCredential = 0, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ClearCredential::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - DataModel::Nullable credential; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return true; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::ClearCredential::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - DataModel::Nullable credential; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace ClearCredential -} // namespace Commands - -namespace Attributes { - -namespace LockState { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LockState::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace LockState -namespace LockType { -struct TypeInfo -{ - using Type = chip::app::Clusters::DoorLock::DlLockType; - using DecodableType = chip::app::Clusters::DoorLock::DlLockType; - using DecodableArgType = chip::app::Clusters::DoorLock::DlLockType; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LockType::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace LockType -namespace ActuatorEnabled { -struct TypeInfo -{ - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ActuatorEnabled::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ActuatorEnabled -namespace DoorState { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DoorState::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace DoorState -namespace DoorOpenEvents { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DoorOpenEvents::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace DoorOpenEvents -namespace DoorClosedEvents { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DoorClosedEvents::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace DoorClosedEvents -namespace OpenPeriod { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OpenPeriod::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace OpenPeriod -namespace NumberOfTotalUsersSupported { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfTotalUsersSupported::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace NumberOfTotalUsersSupported -namespace NumberOfPINUsersSupported { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfPINUsersSupported::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace NumberOfPINUsersSupported -namespace NumberOfRFIDUsersSupported { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfRFIDUsersSupported::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace NumberOfRFIDUsersSupported -namespace NumberOfWeekDaySchedulesSupportedPerUser { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfWeekDaySchedulesSupportedPerUser::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace NumberOfWeekDaySchedulesSupportedPerUser -namespace NumberOfYearDaySchedulesSupportedPerUser { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfYearDaySchedulesSupportedPerUser::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace NumberOfYearDaySchedulesSupportedPerUser -namespace NumberOfHolidaySchedulesSupported { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfHolidaySchedulesSupported::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace NumberOfHolidaySchedulesSupported -namespace MaxPINCodeLength { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxPINCodeLength::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MaxPINCodeLength -namespace MinPINCodeLength { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinPINCodeLength::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MinPINCodeLength -namespace MaxRFIDCodeLength { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxRFIDCodeLength::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MaxRFIDCodeLength -namespace MinRFIDCodeLength { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinRFIDCodeLength::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MinRFIDCodeLength -namespace CredentialRulesSupport { -struct TypeInfo -{ - using Type = chip::BitMask; - using DecodableType = chip::BitMask; - using DecodableArgType = chip::BitMask; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CredentialRulesSupport::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace CredentialRulesSupport -namespace NumberOfCredentialsSupportedPerUser { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfCredentialsSupportedPerUser::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace NumberOfCredentialsSupportedPerUser -namespace Language { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Language::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 3; } -}; -} // namespace Language -namespace LEDSettings { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LEDSettings::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace LEDSettings -namespace AutoRelockTime { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::AutoRelockTime::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace AutoRelockTime -namespace SoundVolume { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SoundVolume::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace SoundVolume -namespace OperatingMode { -struct TypeInfo -{ - using Type = chip::app::Clusters::DoorLock::DlOperatingMode; - using DecodableType = chip::app::Clusters::DoorLock::DlOperatingMode; - using DecodableArgType = chip::app::Clusters::DoorLock::DlOperatingMode; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OperatingMode::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace OperatingMode -namespace SupportedOperatingModes { -struct TypeInfo -{ - using Type = chip::BitMask; - using DecodableType = chip::BitMask; - using DecodableArgType = chip::BitMask; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SupportedOperatingModes::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace SupportedOperatingModes -namespace DefaultConfigurationRegister { -struct TypeInfo -{ - using Type = chip::BitMask; - using DecodableType = chip::BitMask; - using DecodableArgType = chip::BitMask; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DefaultConfigurationRegister::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace DefaultConfigurationRegister -namespace EnableLocalProgramming { -struct TypeInfo -{ - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::EnableLocalProgramming::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace EnableLocalProgramming -namespace EnableOneTouchLocking { -struct TypeInfo -{ - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::EnableOneTouchLocking::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace EnableOneTouchLocking -namespace EnableInsideStatusLED { -struct TypeInfo -{ - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::EnableInsideStatusLED::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace EnableInsideStatusLED -namespace EnablePrivacyModeButton { -struct TypeInfo -{ - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::EnablePrivacyModeButton::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace EnablePrivacyModeButton -namespace LocalProgrammingFeatures { -struct TypeInfo -{ - using Type = chip::BitMask; - using DecodableType = chip::BitMask; - using DecodableArgType = chip::BitMask; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LocalProgrammingFeatures::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace LocalProgrammingFeatures -namespace WrongCodeEntryLimit { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::WrongCodeEntryLimit::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace WrongCodeEntryLimit -namespace UserCodeTemporaryDisableTime { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::UserCodeTemporaryDisableTime::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace UserCodeTemporaryDisableTime -namespace SendPINOverTheAir { -struct TypeInfo -{ - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SendPINOverTheAir::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace SendPINOverTheAir -namespace RequirePINforRemoteOperation { -struct TypeInfo -{ - using Type = bool; - using DecodableType = bool; - using DecodableArgType = bool; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RequirePINforRemoteOperation::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace RequirePINforRemoteOperation -namespace ExpiringUserTimeout { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ExpiringUserTimeout::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ExpiringUserTimeout -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } -}; -} // namespace ClusterRevision - -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - - Attributes::LockState::TypeInfo::DecodableType lockState; - Attributes::LockType::TypeInfo::DecodableType lockType = static_cast(0); - Attributes::ActuatorEnabled::TypeInfo::DecodableType actuatorEnabled = static_cast(0); - Attributes::DoorState::TypeInfo::DecodableType doorState; - Attributes::DoorOpenEvents::TypeInfo::DecodableType doorOpenEvents = static_cast(0); - Attributes::DoorClosedEvents::TypeInfo::DecodableType doorClosedEvents = static_cast(0); - Attributes::OpenPeriod::TypeInfo::DecodableType openPeriod = static_cast(0); - Attributes::NumberOfTotalUsersSupported::TypeInfo::DecodableType numberOfTotalUsersSupported = static_cast(0); - Attributes::NumberOfPINUsersSupported::TypeInfo::DecodableType numberOfPINUsersSupported = static_cast(0); - Attributes::NumberOfRFIDUsersSupported::TypeInfo::DecodableType numberOfRFIDUsersSupported = static_cast(0); - Attributes::NumberOfWeekDaySchedulesSupportedPerUser::TypeInfo::DecodableType numberOfWeekDaySchedulesSupportedPerUser = - static_cast(0); - Attributes::NumberOfYearDaySchedulesSupportedPerUser::TypeInfo::DecodableType numberOfYearDaySchedulesSupportedPerUser = - static_cast(0); - Attributes::NumberOfHolidaySchedulesSupported::TypeInfo::DecodableType numberOfHolidaySchedulesSupported = - static_cast(0); - Attributes::MaxPINCodeLength::TypeInfo::DecodableType maxPINCodeLength = static_cast(0); - Attributes::MinPINCodeLength::TypeInfo::DecodableType minPINCodeLength = static_cast(0); - Attributes::MaxRFIDCodeLength::TypeInfo::DecodableType maxRFIDCodeLength = static_cast(0); - Attributes::MinRFIDCodeLength::TypeInfo::DecodableType minRFIDCodeLength = static_cast(0); - Attributes::CredentialRulesSupport::TypeInfo::DecodableType credentialRulesSupport = - static_cast>(0); - Attributes::NumberOfCredentialsSupportedPerUser::TypeInfo::DecodableType numberOfCredentialsSupportedPerUser = - static_cast(0); - Attributes::Language::TypeInfo::DecodableType language; - Attributes::LEDSettings::TypeInfo::DecodableType LEDSettings = static_cast(0); - Attributes::AutoRelockTime::TypeInfo::DecodableType autoRelockTime = static_cast(0); - Attributes::SoundVolume::TypeInfo::DecodableType soundVolume = static_cast(0); - Attributes::OperatingMode::TypeInfo::DecodableType operatingMode = - static_cast(0); - Attributes::SupportedOperatingModes::TypeInfo::DecodableType supportedOperatingModes = - static_cast>(0); - Attributes::DefaultConfigurationRegister::TypeInfo::DecodableType defaultConfigurationRegister = - static_cast>(0); - Attributes::EnableLocalProgramming::TypeInfo::DecodableType enableLocalProgramming = static_cast(0); - Attributes::EnableOneTouchLocking::TypeInfo::DecodableType enableOneTouchLocking = static_cast(0); - Attributes::EnableInsideStatusLED::TypeInfo::DecodableType enableInsideStatusLED = static_cast(0); - Attributes::EnablePrivacyModeButton::TypeInfo::DecodableType enablePrivacyModeButton = static_cast(0); - Attributes::LocalProgrammingFeatures::TypeInfo::DecodableType localProgrammingFeatures = - static_cast>(0); - Attributes::WrongCodeEntryLimit::TypeInfo::DecodableType wrongCodeEntryLimit = static_cast(0); - Attributes::UserCodeTemporaryDisableTime::TypeInfo::DecodableType userCodeTemporaryDisableTime = static_cast(0); - Attributes::SendPINOverTheAir::TypeInfo::DecodableType sendPINOverTheAir = static_cast(0); - Attributes::RequirePINforRemoteOperation::TypeInfo::DecodableType requirePINforRemoteOperation = static_cast(0); - Attributes::ExpiringUserTimeout::TypeInfo::DecodableType expiringUserTimeout = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -namespace Events { -namespace DoorLockAlarm { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; - -enum class Fields -{ - kAlarmCode = 0, -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::DoorLockAlarm::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr bool kIsFabricScoped = false; - - DlAlarmCode alarmCode = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::DoorLockAlarm::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - DlAlarmCode alarmCode = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace DoorLockAlarm -namespace DoorStateChange { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; - -enum class Fields -{ - kDoorState = 0, -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::DoorStateChange::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr bool kIsFabricScoped = false; - - DlDoorState doorState = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::DoorStateChange::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - DlDoorState doorState = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace DoorStateChange -namespace LockOperation { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; - -enum class Fields -{ - kLockOperationType = 0, - kOperationSource = 1, - kUserIndex = 2, - kFabricIndex = 3, - kSourceNode = 4, - kCredentials = 5, -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::LockOperation::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr bool kIsFabricScoped = false; - - DlLockOperationType lockOperationType = static_cast(0); - DlOperationSource operationSource = static_cast(0); - DataModel::Nullable userIndex; - DataModel::Nullable fabricIndex; - DataModel::Nullable sourceNode; - Optional>> credentials; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::LockOperation::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - DlLockOperationType lockOperationType = static_cast(0); - DlOperationSource operationSource = static_cast(0); - DataModel::Nullable userIndex; - DataModel::Nullable fabricIndex; - DataModel::Nullable sourceNode; - Optional>> credentials; - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace LockOperation -namespace LockOperationError { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; - -enum class Fields -{ - kLockOperationType = 0, - kOperationSource = 1, - kOperationError = 2, - kUserIndex = 3, - kFabricIndex = 4, - kSourceNode = 5, - kCredentials = 6, -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::LockOperationError::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr bool kIsFabricScoped = false; - - DlLockOperationType lockOperationType = static_cast(0); - DlOperationSource operationSource = static_cast(0); - DlOperationError operationError = static_cast(0); - DataModel::Nullable userIndex; - DataModel::Nullable fabricIndex; - DataModel::Nullable sourceNode; - Optional>> credentials; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::LockOperationError::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - DlLockOperationType lockOperationType = static_cast(0); - DlOperationSource operationSource = static_cast(0); - DlOperationError operationError = static_cast(0); - DataModel::Nullable userIndex; - DataModel::Nullable fabricIndex; - DataModel::Nullable sourceNode; - Optional>> credentials; - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace LockOperationError -namespace LockUserChange { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ - kLockDataType = 0, - kDataOperationType = 1, - kOperationSource = 2, - kUserIndex = 3, - kFabricIndex = 4, - kSourceNode = 5, - kDataIndex = 6, -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::LockUserChange::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr bool kIsFabricScoped = false; - - DlLockDataType lockDataType = static_cast(0); - DlDataOperationType dataOperationType = static_cast(0); - DlOperationSource operationSource = static_cast(0); - DataModel::Nullable userIndex; - DataModel::Nullable fabricIndex; - DataModel::Nullable sourceNode; - DataModel::Nullable dataIndex; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::LockUserChange::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - - DlLockDataType lockDataType = static_cast(0); - DlDataOperationType dataOperationType = static_cast(0); - DlOperationSource operationSource = static_cast(0); - DataModel::Nullable userIndex; - DataModel::Nullable fabricIndex; - DataModel::Nullable sourceNode; - DataModel::Nullable dataIndex; - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace LockUserChange -} // namespace Events -} // namespace DoorLock -namespace WindowCovering { - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace UpOrOpen { -struct Type; -struct DecodableType; -} // namespace UpOrOpen - -namespace DownOrClose { -struct Type; -struct DecodableType; -} // namespace DownOrClose - -namespace StopMotion { -struct Type; -struct DecodableType; -} // namespace StopMotion - -namespace GoToLiftValue { -struct Type; -struct DecodableType; -} // namespace GoToLiftValue - -namespace GoToLiftPercentage { -struct Type; -struct DecodableType; -} // namespace GoToLiftPercentage - -namespace GoToTiltValue { -struct Type; -struct DecodableType; -} // namespace GoToTiltValue - -namespace GoToTiltPercentage { -struct Type; -struct DecodableType; -} // namespace GoToTiltPercentage - -} // namespace Commands - -namespace Commands { -namespace UpOrOpen { -enum class Fields -{ -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::UpOrOpen::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::UpOrOpen::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace UpOrOpen -namespace DownOrClose { -enum class Fields -{ -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::DownOrClose::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::DownOrClose::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace DownOrClose -namespace StopMotion { -enum class Fields -{ -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::StopMotion::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::StopMotion::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace StopMotion -namespace GoToLiftValue { -enum class Fields -{ - kLiftValue = 0, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GoToLiftValue::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - - uint16_t liftValue = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GoToLiftValue::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - - uint16_t liftValue = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GoToLiftValue -namespace GoToLiftPercentage { -enum class Fields -{ - kLiftPercent100thsValue = 0, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GoToLiftPercentage::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - - chip::Percent100ths liftPercent100thsValue = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GoToLiftPercentage::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - - chip::Percent100ths liftPercent100thsValue = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GoToLiftPercentage -namespace GoToTiltValue { -enum class Fields -{ - kTiltValue = 0, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GoToTiltValue::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - - uint16_t tiltValue = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GoToTiltValue::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - - uint16_t tiltValue = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GoToTiltValue -namespace GoToTiltPercentage { -enum class Fields -{ - kTiltPercent100thsValue = 0, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GoToTiltPercentage::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - - chip::Percent100ths tiltPercent100thsValue = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GoToTiltPercentage::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - - chip::Percent100ths tiltPercent100thsValue = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GoToTiltPercentage -} // namespace Commands - -namespace Attributes { - -namespace Type { -struct TypeInfo -{ - using Type = chip::app::Clusters::WindowCovering::Type; - using DecodableType = chip::app::Clusters::WindowCovering::Type; - using DecodableArgType = chip::app::Clusters::WindowCovering::Type; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Type::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Type -namespace PhysicalClosedLimitLift { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalClosedLimitLift::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace PhysicalClosedLimitLift -namespace PhysicalClosedLimitTilt { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalClosedLimitTilt::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace PhysicalClosedLimitTilt -namespace CurrentPositionLift { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionLift::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace CurrentPositionLift -namespace CurrentPositionTilt { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionTilt::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace CurrentPositionTilt -namespace NumberOfActuationsLift { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfActuationsLift::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace NumberOfActuationsLift -namespace NumberOfActuationsTilt { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfActuationsTilt::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace NumberOfActuationsTilt -namespace ConfigStatus { -struct TypeInfo -{ - using Type = chip::BitMask; - using DecodableType = chip::BitMask; - using DecodableArgType = chip::BitMask; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ConfigStatus::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ConfigStatus -namespace CurrentPositionLiftPercentage { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionLiftPercentage::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace CurrentPositionLiftPercentage -namespace CurrentPositionTiltPercentage { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionTiltPercentage::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace CurrentPositionTiltPercentage -namespace OperationalStatus { -struct TypeInfo -{ - using Type = chip::BitMask; - using DecodableType = chip::BitMask; - using DecodableArgType = chip::BitMask; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OperationalStatus::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace OperationalStatus -namespace TargetPositionLiftPercent100ths { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TargetPositionLiftPercent100ths::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace TargetPositionLiftPercent100ths -namespace TargetPositionTiltPercent100ths { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TargetPositionTiltPercent100ths::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace TargetPositionTiltPercent100ths -namespace EndProductType { -struct TypeInfo -{ - using Type = chip::app::Clusters::WindowCovering::EndProductType; - using DecodableType = chip::app::Clusters::WindowCovering::EndProductType; - using DecodableArgType = chip::app::Clusters::WindowCovering::EndProductType; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::EndProductType::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace EndProductType -namespace CurrentPositionLiftPercent100ths { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionLiftPercent100ths::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace CurrentPositionLiftPercent100ths -namespace CurrentPositionTiltPercent100ths { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionTiltPercent100ths::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace CurrentPositionTiltPercent100ths -namespace InstalledOpenLimitLift { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::InstalledOpenLimitLift::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace InstalledOpenLimitLift -namespace InstalledClosedLimitLift { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::InstalledClosedLimitLift::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace InstalledClosedLimitLift -namespace InstalledOpenLimitTilt { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::InstalledOpenLimitTilt::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace InstalledOpenLimitTilt -namespace InstalledClosedLimitTilt { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::InstalledClosedLimitTilt::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace InstalledClosedLimitTilt -namespace Mode { -struct TypeInfo -{ - using Type = chip::BitMask; - using DecodableType = chip::BitMask; - using DecodableArgType = chip::BitMask; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Mode::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Mode -namespace SafetyStatus { -struct TypeInfo -{ - using Type = chip::BitMask; - using DecodableType = chip::BitMask; - using DecodableArgType = chip::BitMask; - - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SafetyStatus::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace SafetyStatus -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } -}; -} // namespace ClusterRevision - -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - - Attributes::Type::TypeInfo::DecodableType type = static_cast(0); - Attributes::PhysicalClosedLimitLift::TypeInfo::DecodableType physicalClosedLimitLift = static_cast(0); - Attributes::PhysicalClosedLimitTilt::TypeInfo::DecodableType physicalClosedLimitTilt = static_cast(0); - Attributes::CurrentPositionLift::TypeInfo::DecodableType currentPositionLift; - Attributes::CurrentPositionTilt::TypeInfo::DecodableType currentPositionTilt; - Attributes::NumberOfActuationsLift::TypeInfo::DecodableType numberOfActuationsLift = static_cast(0); - Attributes::NumberOfActuationsTilt::TypeInfo::DecodableType numberOfActuationsTilt = static_cast(0); - Attributes::ConfigStatus::TypeInfo::DecodableType configStatus = - static_cast>(0); - Attributes::CurrentPositionLiftPercentage::TypeInfo::DecodableType currentPositionLiftPercentage; - Attributes::CurrentPositionTiltPercentage::TypeInfo::DecodableType currentPositionTiltPercentage; - Attributes::OperationalStatus::TypeInfo::DecodableType operationalStatus = - static_cast>(0); - Attributes::TargetPositionLiftPercent100ths::TypeInfo::DecodableType targetPositionLiftPercent100ths; - Attributes::TargetPositionTiltPercent100ths::TypeInfo::DecodableType targetPositionTiltPercent100ths; - Attributes::EndProductType::TypeInfo::DecodableType endProductType = - static_cast(0); - Attributes::CurrentPositionLiftPercent100ths::TypeInfo::DecodableType currentPositionLiftPercent100ths; - Attributes::CurrentPositionTiltPercent100ths::TypeInfo::DecodableType currentPositionTiltPercent100ths; - Attributes::InstalledOpenLimitLift::TypeInfo::DecodableType installedOpenLimitLift = static_cast(0); - Attributes::InstalledClosedLimitLift::TypeInfo::DecodableType installedClosedLimitLift = static_cast(0); - Attributes::InstalledOpenLimitTilt::TypeInfo::DecodableType installedOpenLimitTilt = static_cast(0); - Attributes::InstalledClosedLimitTilt::TypeInfo::DecodableType installedClosedLimitTilt = static_cast(0); - Attributes::Mode::TypeInfo::DecodableType mode = static_cast>(0); - Attributes::SafetyStatus::TypeInfo::DecodableType safetyStatus = - static_cast>(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace WindowCovering -namespace BarrierControl { - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace BarrierControlGoToPercent { -struct Type; -struct DecodableType; -} // namespace BarrierControlGoToPercent - -namespace BarrierControlStop { -struct Type; -struct DecodableType; -} // namespace BarrierControlStop - -} // namespace Commands - -namespace Commands { -namespace BarrierControlGoToPercent { -enum class Fields -{ - kPercentOpen = 0, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::BarrierControlGoToPercent::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } - - uint8_t percentOpen = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::BarrierControlGoToPercent::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } - - uint8_t percentOpen = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace BarrierControlGoToPercent -namespace BarrierControlStop { -enum class Fields -{ -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::BarrierControlStop::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::BarrierControlStop::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace BarrierControlStop -} // namespace Commands - -namespace Attributes { - -namespace BarrierMovingState { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BarrierMovingState::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BarrierMovingState -namespace BarrierSafetyStatus { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BarrierSafetyStatus::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BarrierSafetyStatus -namespace BarrierCapabilities { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BarrierCapabilities::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BarrierCapabilities -namespace BarrierOpenEvents { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BarrierOpenEvents::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BarrierOpenEvents -namespace BarrierCloseEvents { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BarrierCloseEvents::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BarrierCloseEvents -namespace BarrierCommandOpenEvents { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BarrierCommandOpenEvents::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BarrierCommandOpenEvents -namespace BarrierCommandCloseEvents { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BarrierCommandCloseEvents::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BarrierCommandCloseEvents -namespace BarrierOpenPeriod { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BarrierOpenPeriod::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BarrierOpenPeriod -namespace BarrierClosePeriod { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BarrierClosePeriod::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BarrierClosePeriod -namespace BarrierPosition { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BarrierPosition::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BarrierPosition -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } -}; -} // namespace ClusterRevision - -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - - Attributes::BarrierMovingState::TypeInfo::DecodableType barrierMovingState = static_cast(0); - Attributes::BarrierSafetyStatus::TypeInfo::DecodableType barrierSafetyStatus = static_cast(0); - Attributes::BarrierCapabilities::TypeInfo::DecodableType barrierCapabilities = static_cast(0); - Attributes::BarrierOpenEvents::TypeInfo::DecodableType barrierOpenEvents = static_cast(0); - Attributes::BarrierCloseEvents::TypeInfo::DecodableType barrierCloseEvents = static_cast(0); - Attributes::BarrierCommandOpenEvents::TypeInfo::DecodableType barrierCommandOpenEvents = static_cast(0); - Attributes::BarrierCommandCloseEvents::TypeInfo::DecodableType barrierCommandCloseEvents = static_cast(0); - Attributes::BarrierOpenPeriod::TypeInfo::DecodableType barrierOpenPeriod = static_cast(0); - Attributes::BarrierClosePeriod::TypeInfo::DecodableType barrierClosePeriod = static_cast(0); - Attributes::BarrierPosition::TypeInfo::DecodableType barrierPosition = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace BarrierControl -namespace PumpConfigurationAndControl { - -namespace Attributes { - -namespace MaxPressure { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxPressure::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MaxPressure -namespace MaxSpeed { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxSpeed::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MaxSpeed -namespace MaxFlow { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxFlow::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MaxFlow -namespace MinConstPressure { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinConstPressure::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MinConstPressure -namespace MaxConstPressure { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxConstPressure::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MaxConstPressure -namespace MinCompPressure { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinCompPressure::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MinCompPressure -namespace MaxCompPressure { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxCompPressure::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MaxCompPressure -namespace MinConstSpeed { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinConstSpeed::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MinConstSpeed -namespace MaxConstSpeed { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxConstSpeed::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MaxConstSpeed -namespace MinConstFlow { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinConstFlow::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MinConstFlow -namespace MaxConstFlow { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxConstFlow::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MaxConstFlow -namespace MinConstTemp { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinConstTemp::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MinConstTemp -namespace MaxConstTemp { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxConstTemp::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MaxConstTemp -namespace PumpStatus { -struct TypeInfo -{ - using Type = chip::BitMask; - using DecodableType = chip::BitMask; - using DecodableArgType = chip::BitMask; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PumpStatus::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace PumpStatus -namespace EffectiveOperationMode { -struct TypeInfo -{ - using Type = chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode; - using DecodableType = chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode; - using DecodableArgType = chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::EffectiveOperationMode::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace EffectiveOperationMode -namespace EffectiveControlMode { -struct TypeInfo -{ - using Type = chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode; - using DecodableType = chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode; - using DecodableArgType = chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::EffectiveControlMode::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace EffectiveControlMode -namespace Capacity { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Capacity::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Capacity -namespace Speed { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Speed::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Speed -namespace LifetimeRunningHours { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LifetimeRunningHours::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace LifetimeRunningHours -namespace Power { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Power::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Power -namespace LifetimeEnergyConsumed { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LifetimeEnergyConsumed::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace LifetimeEnergyConsumed -namespace OperationMode { -struct TypeInfo -{ - using Type = chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode; - using DecodableType = chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode; - using DecodableArgType = chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OperationMode::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace OperationMode -namespace ControlMode { -struct TypeInfo -{ - using Type = chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode; - using DecodableType = chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode; - using DecodableArgType = chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode; - - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ControlMode::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ControlMode -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } -}; -} // namespace ClusterRevision - -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - - Attributes::MaxPressure::TypeInfo::DecodableType maxPressure; - Attributes::MaxSpeed::TypeInfo::DecodableType maxSpeed; - Attributes::MaxFlow::TypeInfo::DecodableType maxFlow; - Attributes::MinConstPressure::TypeInfo::DecodableType minConstPressure; - Attributes::MaxConstPressure::TypeInfo::DecodableType maxConstPressure; - Attributes::MinCompPressure::TypeInfo::DecodableType minCompPressure; - Attributes::MaxCompPressure::TypeInfo::DecodableType maxCompPressure; - Attributes::MinConstSpeed::TypeInfo::DecodableType minConstSpeed; - Attributes::MaxConstSpeed::TypeInfo::DecodableType maxConstSpeed; - Attributes::MinConstFlow::TypeInfo::DecodableType minConstFlow; - Attributes::MaxConstFlow::TypeInfo::DecodableType maxConstFlow; - Attributes::MinConstTemp::TypeInfo::DecodableType minConstTemp; - Attributes::MaxConstTemp::TypeInfo::DecodableType maxConstTemp; - Attributes::PumpStatus::TypeInfo::DecodableType pumpStatus = - static_cast>(0); - Attributes::EffectiveOperationMode::TypeInfo::DecodableType effectiveOperationMode = - static_cast(0); - Attributes::EffectiveControlMode::TypeInfo::DecodableType effectiveControlMode = - static_cast(0); - Attributes::Capacity::TypeInfo::DecodableType capacity; - Attributes::Speed::TypeInfo::DecodableType speed; - Attributes::LifetimeRunningHours::TypeInfo::DecodableType lifetimeRunningHours; - Attributes::Power::TypeInfo::DecodableType power; - Attributes::LifetimeEnergyConsumed::TypeInfo::DecodableType lifetimeEnergyConsumed; - Attributes::OperationMode::TypeInfo::DecodableType operationMode = - static_cast(0); - Attributes::ControlMode::TypeInfo::DecodableType controlMode = - static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -namespace Events { -namespace SupplyVoltageLow { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::SupplyVoltageLow::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::SupplyVoltageLow::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace SupplyVoltageLow -namespace SupplyVoltageHigh { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::SupplyVoltageHigh::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::SupplyVoltageHigh::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace SupplyVoltageHigh -namespace PowerMissingPhase { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::PowerMissingPhase::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::PowerMissingPhase::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace PowerMissingPhase -namespace SystemPressureLow { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::SystemPressureLow::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::SystemPressureLow::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace SystemPressureLow -namespace SystemPressureHigh { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::SystemPressureHigh::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::SystemPressureHigh::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace SystemPressureHigh -namespace DryRunning { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; - -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::DryRunning::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::DryRunning::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace DryRunning -namespace MotorTemperatureHigh { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::MotorTemperatureHigh::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::MotorTemperatureHigh::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace MotorTemperatureHigh -namespace PumpMotorFatalFailure { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; - -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::PumpMotorFatalFailure::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::PumpMotorFatalFailure::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace PumpMotorFatalFailure -namespace ElectronicTemperatureHigh { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ElectronicTemperatureHigh::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ElectronicTemperatureHigh::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace ElectronicTemperatureHigh -namespace PumpBlocked { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; - -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::PumpBlocked::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::PumpBlocked::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace PumpBlocked -namespace SensorFailure { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::SensorFailure::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::SensorFailure::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace SensorFailure -namespace ElectronicNonFatalFailure { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ElectronicNonFatalFailure::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ElectronicNonFatalFailure::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace ElectronicNonFatalFailure -namespace ElectronicFatalFailure { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; - -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ElectronicFatalFailure::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::ElectronicFatalFailure::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace ElectronicFatalFailure -namespace GeneralFault { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::GeneralFault::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::GeneralFault::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace GeneralFault -namespace Leakage { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::Leakage::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::Leakage::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace Leakage -namespace AirDetection { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::AirDetection::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::AirDetection::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace AirDetection -namespace TurbineOperation { -static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - -enum class Fields -{ -}; - -struct Type -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::TurbineOperation::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -struct DecodableType -{ -public: - static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } - static constexpr EventId GetEventId() { return Events::TurbineOperation::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -} // namespace TurbineOperation -} // namespace Events -} // namespace PumpConfigurationAndControl -namespace Thermostat { -namespace Structs { -namespace ThermostatScheduleTransition { -enum class Fields -{ - kTransitionTime = 0, - kHeatSetpoint = 1, - kCoolSetpoint = 2, -}; - -struct Type -{ -public: - uint16_t transitionTime = static_cast(0); - DataModel::Nullable heatSetpoint; - DataModel::Nullable coolSetpoint; - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -using DecodableType = Type; - -} // namespace ThermostatScheduleTransition -} // namespace Structs - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace SetpointRaiseLower { -struct Type; -struct DecodableType; -} // namespace SetpointRaiseLower - -namespace GetWeeklyScheduleResponse { -struct Type; -struct DecodableType; -} // namespace GetWeeklyScheduleResponse - -namespace SetWeeklySchedule { -struct Type; -struct DecodableType; -} // namespace SetWeeklySchedule - -namespace GetWeeklySchedule { -struct Type; -struct DecodableType; -} // namespace GetWeeklySchedule - -namespace ClearWeeklySchedule { -struct Type; -struct DecodableType; -} // namespace ClearWeeklySchedule - -} // namespace Commands - -namespace Commands { -namespace SetpointRaiseLower { -enum class Fields -{ - kMode = 0, - kAmount = 1, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SetpointRaiseLower::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - - SetpointAdjustMode mode = static_cast(0); - int8_t amount = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::SetpointRaiseLower::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - - SetpointAdjustMode mode = static_cast(0); - int8_t amount = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace SetpointRaiseLower -namespace GetWeeklyScheduleResponse { -enum class Fields -{ - kNumberOfTransitionsForSequence = 0, - kDayOfWeekForSequence = 1, - kModeForSequence = 2, - kTransitions = 3, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetWeeklyScheduleResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - - uint8_t numberOfTransitionsForSequence = static_cast(0); - chip::BitMask dayOfWeekForSequence = static_cast>(0); - chip::BitMask modeForSequence = static_cast>(0); - DataModel::List transitions; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GetWeeklyScheduleResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - - uint8_t numberOfTransitionsForSequence = static_cast(0); - chip::BitMask dayOfWeekForSequence = static_cast>(0); - chip::BitMask modeForSequence = static_cast>(0); - DataModel::DecodableList transitions; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GetWeeklyScheduleResponse -namespace SetWeeklySchedule { -enum class Fields -{ - kNumberOfTransitionsForSequence = 0, - kDayOfWeekForSequence = 1, - kModeForSequence = 2, - kTransitions = 3, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SetWeeklySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - - uint8_t numberOfTransitionsForSequence = static_cast(0); - chip::BitMask dayOfWeekForSequence = static_cast>(0); - chip::BitMask modeForSequence = static_cast>(0); - DataModel::List transitions; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::SetWeeklySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - - uint8_t numberOfTransitionsForSequence = static_cast(0); - chip::BitMask dayOfWeekForSequence = static_cast>(0); - chip::BitMask modeForSequence = static_cast>(0); - DataModel::DecodableList transitions; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace SetWeeklySchedule -namespace GetWeeklySchedule { -enum class Fields -{ - kDaysToReturn = 0, - kModeToReturn = 1, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetWeeklySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - - chip::BitMask daysToReturn = static_cast>(0); - chip::BitMask modeToReturn = static_cast>(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::Thermostat::Commands::GetWeeklyScheduleResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::GetWeeklySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - - chip::BitMask daysToReturn = static_cast>(0); - chip::BitMask modeToReturn = static_cast>(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace GetWeeklySchedule -namespace ClearWeeklySchedule { -enum class Fields -{ -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ClearWeeklySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::ClearWeeklySchedule::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace ClearWeeklySchedule -} // namespace Commands - -namespace Attributes { - -namespace LocalTemperature { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LocalTemperature::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace LocalTemperature -namespace OutdoorTemperature { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OutdoorTemperature::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace OutdoorTemperature -namespace Occupancy { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Occupancy::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Occupancy -namespace AbsMinHeatSetpointLimit { -struct TypeInfo -{ - using Type = int16_t; - using DecodableType = int16_t; - using DecodableArgType = int16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::AbsMinHeatSetpointLimit::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace AbsMinHeatSetpointLimit -namespace AbsMaxHeatSetpointLimit { -struct TypeInfo -{ - using Type = int16_t; - using DecodableType = int16_t; - using DecodableArgType = int16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::AbsMaxHeatSetpointLimit::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace AbsMaxHeatSetpointLimit -namespace AbsMinCoolSetpointLimit { -struct TypeInfo -{ - using Type = int16_t; - using DecodableType = int16_t; - using DecodableArgType = int16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::AbsMinCoolSetpointLimit::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace AbsMinCoolSetpointLimit -namespace AbsMaxCoolSetpointLimit { -struct TypeInfo -{ - using Type = int16_t; - using DecodableType = int16_t; - using DecodableArgType = int16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::AbsMaxCoolSetpointLimit::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace AbsMaxCoolSetpointLimit -namespace PICoolingDemand { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PICoolingDemand::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace PICoolingDemand -namespace PIHeatingDemand { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PIHeatingDemand::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace PIHeatingDemand -namespace HVACSystemTypeConfiguration { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::HVACSystemTypeConfiguration::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace HVACSystemTypeConfiguration -namespace LocalTemperatureCalibration { -struct TypeInfo -{ - using Type = int8_t; - using DecodableType = int8_t; - using DecodableArgType = int8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LocalTemperatureCalibration::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace LocalTemperatureCalibration -namespace OccupiedCoolingSetpoint { -struct TypeInfo -{ - using Type = int16_t; - using DecodableType = int16_t; - using DecodableArgType = int16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OccupiedCoolingSetpoint::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace OccupiedCoolingSetpoint -namespace OccupiedHeatingSetpoint { -struct TypeInfo -{ - using Type = int16_t; - using DecodableType = int16_t; - using DecodableArgType = int16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OccupiedHeatingSetpoint::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace OccupiedHeatingSetpoint -namespace UnoccupiedCoolingSetpoint { -struct TypeInfo -{ - using Type = int16_t; - using DecodableType = int16_t; - using DecodableArgType = int16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::UnoccupiedCoolingSetpoint::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace UnoccupiedCoolingSetpoint -namespace UnoccupiedHeatingSetpoint { -struct TypeInfo -{ - using Type = int16_t; - using DecodableType = int16_t; - using DecodableArgType = int16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::UnoccupiedHeatingSetpoint::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace UnoccupiedHeatingSetpoint -namespace MinHeatSetpointLimit { -struct TypeInfo -{ - using Type = int16_t; - using DecodableType = int16_t; - using DecodableArgType = int16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinHeatSetpointLimit::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MinHeatSetpointLimit -namespace MaxHeatSetpointLimit { -struct TypeInfo -{ - using Type = int16_t; - using DecodableType = int16_t; - using DecodableArgType = int16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxHeatSetpointLimit::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MaxHeatSetpointLimit -namespace MinCoolSetpointLimit { -struct TypeInfo -{ - using Type = int16_t; - using DecodableType = int16_t; - using DecodableArgType = int16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinCoolSetpointLimit::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MinCoolSetpointLimit -namespace MaxCoolSetpointLimit { -struct TypeInfo -{ - using Type = int16_t; - using DecodableType = int16_t; - using DecodableArgType = int16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxCoolSetpointLimit::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MaxCoolSetpointLimit -namespace MinSetpointDeadBand { -struct TypeInfo -{ - using Type = int8_t; - using DecodableType = int8_t; - using DecodableArgType = int8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinSetpointDeadBand::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MinSetpointDeadBand -namespace RemoteSensing { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RemoteSensing::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace RemoteSensing -namespace ControlSequenceOfOperation { -struct TypeInfo -{ - using Type = chip::app::Clusters::Thermostat::ThermostatControlSequence; - using DecodableType = chip::app::Clusters::Thermostat::ThermostatControlSequence; - using DecodableArgType = chip::app::Clusters::Thermostat::ThermostatControlSequence; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ControlSequenceOfOperation::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ControlSequenceOfOperation -namespace SystemMode { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SystemMode::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace SystemMode -namespace ThermostatRunningMode { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ThermostatRunningMode::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ThermostatRunningMode -namespace StartOfWeek { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::StartOfWeek::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace StartOfWeek -namespace NumberOfWeeklyTransitions { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfWeeklyTransitions::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace NumberOfWeeklyTransitions -namespace NumberOfDailyTransitions { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfDailyTransitions::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace NumberOfDailyTransitions -namespace TemperatureSetpointHold { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TemperatureSetpointHold::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace TemperatureSetpointHold -namespace TemperatureSetpointHoldDuration { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TemperatureSetpointHoldDuration::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace TemperatureSetpointHoldDuration -namespace ThermostatProgrammingOperationMode { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ThermostatProgrammingOperationMode::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ThermostatProgrammingOperationMode -namespace ThermostatRunningState { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ThermostatRunningState::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ThermostatRunningState -namespace SetpointChangeSource { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SetpointChangeSource::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace SetpointChangeSource -namespace SetpointChangeAmount { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SetpointChangeAmount::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace SetpointChangeAmount -namespace SetpointChangeSourceTimestamp { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SetpointChangeSourceTimestamp::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace SetpointChangeSourceTimestamp -namespace OccupiedSetback { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OccupiedSetback::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace OccupiedSetback -namespace OccupiedSetbackMin { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OccupiedSetbackMin::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace OccupiedSetbackMin -namespace OccupiedSetbackMax { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OccupiedSetbackMax::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace OccupiedSetbackMax -namespace UnoccupiedSetback { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::UnoccupiedSetback::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace UnoccupiedSetback -namespace UnoccupiedSetbackMin { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::UnoccupiedSetbackMin::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace UnoccupiedSetbackMin -namespace UnoccupiedSetbackMax { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::UnoccupiedSetbackMax::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace UnoccupiedSetbackMax -namespace EmergencyHeatDelta { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::EmergencyHeatDelta::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace EmergencyHeatDelta -namespace ACType { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ACType::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ACType -namespace ACCapacity { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ACCapacity::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ACCapacity -namespace ACRefrigerantType { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ACRefrigerantType::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ACRefrigerantType -namespace ACCompressorType { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ACCompressorType::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ACCompressorType -namespace ACErrorCode { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ACErrorCode::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ACErrorCode -namespace ACLouverPosition { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ACLouverPosition::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ACLouverPosition -namespace ACCoilTemperature { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ACCoilTemperature::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ACCoilTemperature -namespace ACCapacityformat { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ACCapacityformat::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ACCapacityformat -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } -}; -} // namespace ClusterRevision - -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - - Attributes::LocalTemperature::TypeInfo::DecodableType localTemperature; - Attributes::OutdoorTemperature::TypeInfo::DecodableType outdoorTemperature; - Attributes::Occupancy::TypeInfo::DecodableType occupancy = static_cast(0); - Attributes::AbsMinHeatSetpointLimit::TypeInfo::DecodableType absMinHeatSetpointLimit = static_cast(0); - Attributes::AbsMaxHeatSetpointLimit::TypeInfo::DecodableType absMaxHeatSetpointLimit = static_cast(0); - Attributes::AbsMinCoolSetpointLimit::TypeInfo::DecodableType absMinCoolSetpointLimit = static_cast(0); - Attributes::AbsMaxCoolSetpointLimit::TypeInfo::DecodableType absMaxCoolSetpointLimit = static_cast(0); - Attributes::PICoolingDemand::TypeInfo::DecodableType PICoolingDemand = static_cast(0); - Attributes::PIHeatingDemand::TypeInfo::DecodableType PIHeatingDemand = static_cast(0); - Attributes::HVACSystemTypeConfiguration::TypeInfo::DecodableType HVACSystemTypeConfiguration = static_cast(0); - Attributes::LocalTemperatureCalibration::TypeInfo::DecodableType localTemperatureCalibration = static_cast(0); - Attributes::OccupiedCoolingSetpoint::TypeInfo::DecodableType occupiedCoolingSetpoint = static_cast(0); - Attributes::OccupiedHeatingSetpoint::TypeInfo::DecodableType occupiedHeatingSetpoint = static_cast(0); - Attributes::UnoccupiedCoolingSetpoint::TypeInfo::DecodableType unoccupiedCoolingSetpoint = static_cast(0); - Attributes::UnoccupiedHeatingSetpoint::TypeInfo::DecodableType unoccupiedHeatingSetpoint = static_cast(0); - Attributes::MinHeatSetpointLimit::TypeInfo::DecodableType minHeatSetpointLimit = static_cast(0); - Attributes::MaxHeatSetpointLimit::TypeInfo::DecodableType maxHeatSetpointLimit = static_cast(0); - Attributes::MinCoolSetpointLimit::TypeInfo::DecodableType minCoolSetpointLimit = static_cast(0); - Attributes::MaxCoolSetpointLimit::TypeInfo::DecodableType maxCoolSetpointLimit = static_cast(0); - Attributes::MinSetpointDeadBand::TypeInfo::DecodableType minSetpointDeadBand = static_cast(0); - Attributes::RemoteSensing::TypeInfo::DecodableType remoteSensing = static_cast(0); - Attributes::ControlSequenceOfOperation::TypeInfo::DecodableType controlSequenceOfOperation = - static_cast(0); - Attributes::SystemMode::TypeInfo::DecodableType systemMode = static_cast(0); - Attributes::ThermostatRunningMode::TypeInfo::DecodableType thermostatRunningMode = static_cast(0); - Attributes::StartOfWeek::TypeInfo::DecodableType startOfWeek = static_cast(0); - Attributes::NumberOfWeeklyTransitions::TypeInfo::DecodableType numberOfWeeklyTransitions = static_cast(0); - Attributes::NumberOfDailyTransitions::TypeInfo::DecodableType numberOfDailyTransitions = static_cast(0); - Attributes::TemperatureSetpointHold::TypeInfo::DecodableType temperatureSetpointHold = static_cast(0); - Attributes::TemperatureSetpointHoldDuration::TypeInfo::DecodableType temperatureSetpointHoldDuration; - Attributes::ThermostatProgrammingOperationMode::TypeInfo::DecodableType thermostatProgrammingOperationMode = - static_cast(0); - Attributes::ThermostatRunningState::TypeInfo::DecodableType thermostatRunningState = static_cast(0); - Attributes::SetpointChangeSource::TypeInfo::DecodableType setpointChangeSource = static_cast(0); - Attributes::SetpointChangeAmount::TypeInfo::DecodableType setpointChangeAmount; - Attributes::SetpointChangeSourceTimestamp::TypeInfo::DecodableType setpointChangeSourceTimestamp = static_cast(0); - Attributes::OccupiedSetback::TypeInfo::DecodableType occupiedSetback; - Attributes::OccupiedSetbackMin::TypeInfo::DecodableType occupiedSetbackMin; - Attributes::OccupiedSetbackMax::TypeInfo::DecodableType occupiedSetbackMax; - Attributes::UnoccupiedSetback::TypeInfo::DecodableType unoccupiedSetback; - Attributes::UnoccupiedSetbackMin::TypeInfo::DecodableType unoccupiedSetbackMin; - Attributes::UnoccupiedSetbackMax::TypeInfo::DecodableType unoccupiedSetbackMax; - Attributes::EmergencyHeatDelta::TypeInfo::DecodableType emergencyHeatDelta = static_cast(0); - Attributes::ACType::TypeInfo::DecodableType ACType = static_cast(0); - Attributes::ACCapacity::TypeInfo::DecodableType ACCapacity = static_cast(0); - Attributes::ACRefrigerantType::TypeInfo::DecodableType ACRefrigerantType = static_cast(0); - Attributes::ACCompressorType::TypeInfo::DecodableType ACCompressorType = static_cast(0); - Attributes::ACErrorCode::TypeInfo::DecodableType ACErrorCode = static_cast(0); - Attributes::ACLouverPosition::TypeInfo::DecodableType ACLouverPosition = static_cast(0); - Attributes::ACCoilTemperature::TypeInfo::DecodableType ACCoilTemperature; - Attributes::ACCapacityformat::TypeInfo::DecodableType ACCapacityformat = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace Thermostat -namespace FanControl { - -namespace Attributes { - -namespace FanMode { -struct TypeInfo -{ - using Type = chip::app::Clusters::FanControl::FanModeType; - using DecodableType = chip::app::Clusters::FanControl::FanModeType; - using DecodableArgType = chip::app::Clusters::FanControl::FanModeType; - - static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::FanMode::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace FanMode -namespace FanModeSequence { -struct TypeInfo -{ - using Type = chip::app::Clusters::FanControl::FanModeSequenceType; - using DecodableType = chip::app::Clusters::FanControl::FanModeSequenceType; - using DecodableArgType = chip::app::Clusters::FanControl::FanModeSequenceType; - - static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::FanModeSequence::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace FanModeSequence -namespace PercentSetting { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PercentSetting::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace PercentSetting -namespace PercentCurrent { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PercentCurrent::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace PercentCurrent -namespace SpeedMax { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SpeedMax::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace SpeedMax -namespace SpeedSetting { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SpeedSetting::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace SpeedSetting -namespace SpeedCurrent { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SpeedCurrent::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace SpeedCurrent -namespace RockSupport { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RockSupport::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace RockSupport -namespace RockSetting { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RockSetting::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace RockSetting -namespace WindSupport { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::WindSupport::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace WindSupport -namespace WindSetting { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::WindSetting::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace WindSetting -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } -}; -} // namespace ClusterRevision - -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - - Attributes::FanMode::TypeInfo::DecodableType fanMode = static_cast(0); - Attributes::FanModeSequence::TypeInfo::DecodableType fanModeSequence = - static_cast(0); - Attributes::PercentSetting::TypeInfo::DecodableType percentSetting; - Attributes::PercentCurrent::TypeInfo::DecodableType percentCurrent = static_cast(0); - Attributes::SpeedMax::TypeInfo::DecodableType speedMax = static_cast(0); - Attributes::SpeedSetting::TypeInfo::DecodableType speedSetting; - Attributes::SpeedCurrent::TypeInfo::DecodableType speedCurrent = static_cast(0); - Attributes::RockSupport::TypeInfo::DecodableType rockSupport = static_cast(0); - Attributes::RockSetting::TypeInfo::DecodableType rockSetting = static_cast(0); - Attributes::WindSupport::TypeInfo::DecodableType windSupport = static_cast(0); - Attributes::WindSetting::TypeInfo::DecodableType windSetting = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace FanControl -namespace DehumidificationControl { - -namespace Attributes { - -namespace RelativeHumidity { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RelativeHumidity::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace RelativeHumidity -namespace DehumidificationCooling { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DehumidificationCooling::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace DehumidificationCooling -namespace RhDehumidificationSetpoint { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RhDehumidificationSetpoint::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace RhDehumidificationSetpoint -namespace RelativeHumidityMode { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RelativeHumidityMode::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace RelativeHumidityMode -namespace DehumidificationLockout { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DehumidificationLockout::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace DehumidificationLockout -namespace DehumidificationHysteresis { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DehumidificationHysteresis::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace DehumidificationHysteresis -namespace DehumidificationMaxCool { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DehumidificationMaxCool::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace DehumidificationMaxCool -namespace RelativeHumidityDisplay { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RelativeHumidityDisplay::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace RelativeHumidityDisplay -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } -}; -} // namespace ClusterRevision - -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - - Attributes::RelativeHumidity::TypeInfo::DecodableType relativeHumidity = static_cast(0); - Attributes::DehumidificationCooling::TypeInfo::DecodableType dehumidificationCooling = static_cast(0); - Attributes::RhDehumidificationSetpoint::TypeInfo::DecodableType rhDehumidificationSetpoint = static_cast(0); - Attributes::RelativeHumidityMode::TypeInfo::DecodableType relativeHumidityMode = static_cast(0); - Attributes::DehumidificationLockout::TypeInfo::DecodableType dehumidificationLockout = static_cast(0); - Attributes::DehumidificationHysteresis::TypeInfo::DecodableType dehumidificationHysteresis = static_cast(0); - Attributes::DehumidificationMaxCool::TypeInfo::DecodableType dehumidificationMaxCool = static_cast(0); - Attributes::RelativeHumidityDisplay::TypeInfo::DecodableType relativeHumidityDisplay = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace DehumidificationControl -namespace ThermostatUserInterfaceConfiguration { - -namespace Attributes { - -namespace TemperatureDisplayMode { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TemperatureDisplayMode::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace TemperatureDisplayMode -namespace KeypadLockout { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::KeypadLockout::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace KeypadLockout -namespace ScheduleProgrammingVisibility { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ScheduleProgrammingVisibility::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ScheduleProgrammingVisibility -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } -}; -} // namespace ClusterRevision - -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - - Attributes::TemperatureDisplayMode::TypeInfo::DecodableType temperatureDisplayMode = static_cast(0); - Attributes::KeypadLockout::TypeInfo::DecodableType keypadLockout = static_cast(0); - Attributes::ScheduleProgrammingVisibility::TypeInfo::DecodableType scheduleProgrammingVisibility = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace ThermostatUserInterfaceConfiguration -namespace ColorControl { - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace MoveToHue { -struct Type; -struct DecodableType; -} // namespace MoveToHue - -namespace MoveHue { -struct Type; -struct DecodableType; -} // namespace MoveHue - -namespace StepHue { -struct Type; -struct DecodableType; -} // namespace StepHue - -namespace MoveToSaturation { -struct Type; -struct DecodableType; -} // namespace MoveToSaturation - -namespace MoveSaturation { -struct Type; -struct DecodableType; -} // namespace MoveSaturation - -namespace StepSaturation { -struct Type; -struct DecodableType; -} // namespace StepSaturation - -namespace MoveToHueAndSaturation { -struct Type; -struct DecodableType; -} // namespace MoveToHueAndSaturation - -namespace MoveToColor { -struct Type; -struct DecodableType; -} // namespace MoveToColor - -namespace MoveColor { -struct Type; -struct DecodableType; -} // namespace MoveColor - -namespace StepColor { -struct Type; -struct DecodableType; -} // namespace StepColor - -namespace MoveToColorTemperature { -struct Type; -struct DecodableType; -} // namespace MoveToColorTemperature - -namespace EnhancedMoveToHue { -struct Type; -struct DecodableType; -} // namespace EnhancedMoveToHue - -namespace EnhancedMoveHue { -struct Type; -struct DecodableType; -} // namespace EnhancedMoveHue - -namespace EnhancedStepHue { -struct Type; -struct DecodableType; -} // namespace EnhancedStepHue - -namespace EnhancedMoveToHueAndSaturation { -struct Type; -struct DecodableType; -} // namespace EnhancedMoveToHueAndSaturation - -namespace ColorLoopSet { -struct Type; -struct DecodableType; -} // namespace ColorLoopSet - -namespace StopMoveStep { -struct Type; -struct DecodableType; -} // namespace StopMoveStep - -namespace MoveColorTemperature { -struct Type; -struct DecodableType; -} // namespace MoveColorTemperature - -namespace StepColorTemperature { -struct Type; -struct DecodableType; -} // namespace StepColorTemperature - -} // namespace Commands - -namespace Commands { -namespace MoveToHue { -enum class Fields -{ - kHue = 0, - kDirection = 1, - kTransitionTime = 2, - kOptionsMask = 3, - kOptionsOverride = 4, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::MoveToHue::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - uint8_t hue = static_cast(0); - HueDirection direction = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::MoveToHue::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - uint8_t hue = static_cast(0); - HueDirection direction = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace MoveToHue -namespace MoveHue { -enum class Fields -{ - kMoveMode = 0, - kRate = 1, - kOptionsMask = 2, - kOptionsOverride = 3, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::MoveHue::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - HueMoveMode moveMode = static_cast(0); - uint8_t rate = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::MoveHue::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - HueMoveMode moveMode = static_cast(0); - uint8_t rate = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace MoveHue -namespace StepHue { -enum class Fields -{ - kStepMode = 0, - kStepSize = 1, - kTransitionTime = 2, - kOptionsMask = 3, - kOptionsOverride = 4, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::StepHue::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - HueStepMode stepMode = static_cast(0); - uint8_t stepSize = static_cast(0); - uint8_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::StepHue::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - HueStepMode stepMode = static_cast(0); - uint8_t stepSize = static_cast(0); - uint8_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace StepHue -namespace MoveToSaturation { -enum class Fields -{ - kSaturation = 0, - kTransitionTime = 1, - kOptionsMask = 2, - kOptionsOverride = 3, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::MoveToSaturation::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - uint8_t saturation = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::MoveToSaturation::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - uint8_t saturation = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace MoveToSaturation -namespace MoveSaturation { -enum class Fields -{ - kMoveMode = 0, - kRate = 1, - kOptionsMask = 2, - kOptionsOverride = 3, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::MoveSaturation::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - SaturationMoveMode moveMode = static_cast(0); - uint8_t rate = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::MoveSaturation::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - SaturationMoveMode moveMode = static_cast(0); - uint8_t rate = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace MoveSaturation -namespace StepSaturation { -enum class Fields -{ - kStepMode = 0, - kStepSize = 1, - kTransitionTime = 2, - kOptionsMask = 3, - kOptionsOverride = 4, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::StepSaturation::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - SaturationStepMode stepMode = static_cast(0); - uint8_t stepSize = static_cast(0); - uint8_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::StepSaturation::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - SaturationStepMode stepMode = static_cast(0); - uint8_t stepSize = static_cast(0); - uint8_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace StepSaturation -namespace MoveToHueAndSaturation { -enum class Fields -{ - kHue = 0, - kSaturation = 1, - kTransitionTime = 2, - kOptionsMask = 3, - kOptionsOverride = 4, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::MoveToHueAndSaturation::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - uint8_t hue = static_cast(0); - uint8_t saturation = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::MoveToHueAndSaturation::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - uint8_t hue = static_cast(0); - uint8_t saturation = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace MoveToHueAndSaturation -namespace MoveToColor { -enum class Fields -{ - kColorX = 0, - kColorY = 1, - kTransitionTime = 2, - kOptionsMask = 3, - kOptionsOverride = 4, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::MoveToColor::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - uint16_t colorX = static_cast(0); - uint16_t colorY = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::MoveToColor::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - uint16_t colorX = static_cast(0); - uint16_t colorY = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace MoveToColor -namespace MoveColor { -enum class Fields -{ - kRateX = 0, - kRateY = 1, - kOptionsMask = 2, - kOptionsOverride = 3, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::MoveColor::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - int16_t rateX = static_cast(0); - int16_t rateY = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::MoveColor::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - int16_t rateX = static_cast(0); - int16_t rateY = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace MoveColor -namespace StepColor { -enum class Fields -{ - kStepX = 0, - kStepY = 1, - kTransitionTime = 2, - kOptionsMask = 3, - kOptionsOverride = 4, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::StepColor::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - int16_t stepX = static_cast(0); - int16_t stepY = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::StepColor::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - int16_t stepX = static_cast(0); - int16_t stepY = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace StepColor -namespace MoveToColorTemperature { -enum class Fields -{ - kColorTemperature = 0, - kTransitionTime = 1, - kOptionsMask = 2, - kOptionsOverride = 3, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::MoveToColorTemperature::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - uint16_t colorTemperature = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::MoveToColorTemperature::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - uint16_t colorTemperature = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace MoveToColorTemperature -namespace EnhancedMoveToHue { -enum class Fields -{ - kEnhancedHue = 0, - kDirection = 1, - kTransitionTime = 2, - kOptionsMask = 3, - kOptionsOverride = 4, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::EnhancedMoveToHue::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - uint16_t enhancedHue = static_cast(0); - HueDirection direction = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::EnhancedMoveToHue::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - uint16_t enhancedHue = static_cast(0); - HueDirection direction = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace EnhancedMoveToHue -namespace EnhancedMoveHue { -enum class Fields -{ - kMoveMode = 0, - kRate = 1, - kOptionsMask = 2, - kOptionsOverride = 3, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::EnhancedMoveHue::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - HueMoveMode moveMode = static_cast(0); - uint16_t rate = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::EnhancedMoveHue::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - HueMoveMode moveMode = static_cast(0); - uint16_t rate = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace EnhancedMoveHue -namespace EnhancedStepHue { -enum class Fields -{ - kStepMode = 0, - kStepSize = 1, - kTransitionTime = 2, - kOptionsMask = 3, - kOptionsOverride = 4, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::EnhancedStepHue::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - HueStepMode stepMode = static_cast(0); - uint16_t stepSize = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::EnhancedStepHue::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - HueStepMode stepMode = static_cast(0); - uint16_t stepSize = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace EnhancedStepHue -namespace EnhancedMoveToHueAndSaturation { -enum class Fields -{ - kEnhancedHue = 0, - kSaturation = 1, - kTransitionTime = 2, - kOptionsMask = 3, - kOptionsOverride = 4, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::EnhancedMoveToHueAndSaturation::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - uint16_t enhancedHue = static_cast(0); - uint8_t saturation = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::EnhancedMoveToHueAndSaturation::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - uint16_t enhancedHue = static_cast(0); - uint8_t saturation = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace EnhancedMoveToHueAndSaturation -namespace ColorLoopSet { -enum class Fields -{ - kUpdateFlags = 0, - kAction = 1, - kDirection = 2, - kTime = 3, - kStartHue = 4, - kOptionsMask = 5, - kOptionsOverride = 6, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ColorLoopSet::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - chip::BitMask updateFlags = static_cast>(0); - ColorLoopAction action = static_cast(0); - ColorLoopDirection direction = static_cast(0); - uint16_t time = static_cast(0); - uint16_t startHue = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::ColorLoopSet::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - chip::BitMask updateFlags = static_cast>(0); - ColorLoopAction action = static_cast(0); - ColorLoopDirection direction = static_cast(0); - uint16_t time = static_cast(0); - uint16_t startHue = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace ColorLoopSet -namespace StopMoveStep { -enum class Fields -{ - kOptionsMask = 0, - kOptionsOverride = 1, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::StopMoveStep::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::StopMoveStep::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace StopMoveStep -namespace MoveColorTemperature { -enum class Fields -{ - kMoveMode = 0, - kRate = 1, - kColorTemperatureMinimumMireds = 2, - kColorTemperatureMaximumMireds = 3, - kOptionsMask = 4, - kOptionsOverride = 5, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::MoveColorTemperature::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - HueMoveMode moveMode = static_cast(0); - uint16_t rate = static_cast(0); - uint16_t colorTemperatureMinimumMireds = static_cast(0); - uint16_t colorTemperatureMaximumMireds = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::MoveColorTemperature::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - HueMoveMode moveMode = static_cast(0); - uint16_t rate = static_cast(0); - uint16_t colorTemperatureMinimumMireds = static_cast(0); - uint16_t colorTemperatureMaximumMireds = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace MoveColorTemperature -namespace StepColorTemperature { -enum class Fields -{ - kStepMode = 0, - kStepSize = 1, - kTransitionTime = 2, - kColorTemperatureMinimumMireds = 3, - kColorTemperatureMaximumMireds = 4, - kOptionsMask = 5, - kOptionsOverride = 6, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::StepColorTemperature::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - HueStepMode stepMode = static_cast(0); - uint16_t stepSize = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint16_t colorTemperatureMinimumMireds = static_cast(0); - uint16_t colorTemperatureMaximumMireds = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::StepColorTemperature::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - HueStepMode stepMode = static_cast(0); - uint16_t stepSize = static_cast(0); - uint16_t transitionTime = static_cast(0); - uint16_t colorTemperatureMinimumMireds = static_cast(0); - uint16_t colorTemperatureMaximumMireds = static_cast(0); - uint8_t optionsMask = static_cast(0); - uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SoundVolume::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace StepColorTemperature -} // namespace Commands - -namespace Attributes { - -namespace CurrentHue { +} // namespace SoundVolume +namespace OperatingMode { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::Clusters::DoorLock::DlOperatingMode; + using DecodableType = chip::app::Clusters::DoorLock::DlOperatingMode; + using DecodableArgType = chip::app::Clusters::DoorLock::DlOperatingMode; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentHue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OperatingMode::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentHue -namespace CurrentSaturation { +} // namespace OperatingMode +namespace SupportedOperatingModes { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::BitMask; + using DecodableType = chip::BitMask; + using DecodableArgType = chip::BitMask; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentSaturation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SupportedOperatingModes::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentSaturation -namespace RemainingTime { +} // namespace SupportedOperatingModes +namespace DefaultConfigurationRegister { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::BitMask; + using DecodableType = chip::BitMask; + using DecodableArgType = chip::BitMask; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::RemainingTime::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::DefaultConfigurationRegister::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace RemainingTime -namespace CurrentX { +} // namespace DefaultConfigurationRegister +namespace EnableLocalProgramming { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentX::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::EnableLocalProgramming::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentX -namespace CurrentY { +} // namespace EnableLocalProgramming +namespace EnableOneTouchLocking { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentY::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::EnableOneTouchLocking::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentY -namespace DriftCompensation { +} // namespace EnableOneTouchLocking +namespace EnableInsideStatusLED { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DriftCompensation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::EnableInsideStatusLED::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace DriftCompensation -namespace CompensationText { +} // namespace EnableInsideStatusLED +namespace EnablePrivacyModeButton { struct TypeInfo { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CompensationText::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::EnablePrivacyModeButton::Id; } static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 254; } }; -} // namespace CompensationText -namespace ColorTemperature { +} // namespace EnablePrivacyModeButton +namespace LocalProgrammingFeatures { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::BitMask; + using DecodableType = chip::BitMask; + using DecodableArgType = chip::BitMask; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorTemperature::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LocalProgrammingFeatures::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ColorTemperature -namespace ColorMode { +} // namespace LocalProgrammingFeatures +namespace WrongCodeEntryLimit { struct TypeInfo { using Type = uint8_t; using DecodableType = uint8_t; using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorMode::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::WrongCodeEntryLimit::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ColorMode -namespace Options { +} // namespace WrongCodeEntryLimit +namespace UserCodeTemporaryDisableTime { struct TypeInfo { using Type = uint8_t; using DecodableType = uint8_t; using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Options::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::UserCodeTemporaryDisableTime::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Options -namespace NumberOfPrimaries { +} // namespace UserCodeTemporaryDisableTime +namespace SendPINOverTheAir { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfPrimaries::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SendPINOverTheAir::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace NumberOfPrimaries -namespace Primary1X { +} // namespace SendPINOverTheAir +namespace RequirePINforRemoteOperation { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary1X::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RequirePINforRemoteOperation::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Primary1X -namespace Primary1Y { +} // namespace RequirePINforRemoteOperation +namespace ExpiringUserTimeout { struct TypeInfo { using Type = uint16_t; using DecodableType = uint16_t; using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary1Y::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ExpiringUserTimeout::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Primary1Y -namespace Primary1Intensity { +} // namespace ExpiringUserTimeout +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } +}; +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } +}; +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } +}; +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } +}; +} // namespace ClusterRevision + struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary1Intensity::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::LockState::TypeInfo::DecodableType lockState; + Attributes::LockType::TypeInfo::DecodableType lockType = static_cast(0); + Attributes::ActuatorEnabled::TypeInfo::DecodableType actuatorEnabled = static_cast(0); + Attributes::DoorState::TypeInfo::DecodableType doorState; + Attributes::DoorOpenEvents::TypeInfo::DecodableType doorOpenEvents = static_cast(0); + Attributes::DoorClosedEvents::TypeInfo::DecodableType doorClosedEvents = static_cast(0); + Attributes::OpenPeriod::TypeInfo::DecodableType openPeriod = static_cast(0); + Attributes::NumberOfTotalUsersSupported::TypeInfo::DecodableType numberOfTotalUsersSupported = static_cast(0); + Attributes::NumberOfPINUsersSupported::TypeInfo::DecodableType numberOfPINUsersSupported = static_cast(0); + Attributes::NumberOfRFIDUsersSupported::TypeInfo::DecodableType numberOfRFIDUsersSupported = static_cast(0); + Attributes::NumberOfWeekDaySchedulesSupportedPerUser::TypeInfo::DecodableType numberOfWeekDaySchedulesSupportedPerUser = + static_cast(0); + Attributes::NumberOfYearDaySchedulesSupportedPerUser::TypeInfo::DecodableType numberOfYearDaySchedulesSupportedPerUser = + static_cast(0); + Attributes::NumberOfHolidaySchedulesSupported::TypeInfo::DecodableType numberOfHolidaySchedulesSupported = + static_cast(0); + Attributes::MaxPINCodeLength::TypeInfo::DecodableType maxPINCodeLength = static_cast(0); + Attributes::MinPINCodeLength::TypeInfo::DecodableType minPINCodeLength = static_cast(0); + Attributes::MaxRFIDCodeLength::TypeInfo::DecodableType maxRFIDCodeLength = static_cast(0); + Attributes::MinRFIDCodeLength::TypeInfo::DecodableType minRFIDCodeLength = static_cast(0); + Attributes::CredentialRulesSupport::TypeInfo::DecodableType credentialRulesSupport = + static_cast>(0); + Attributes::NumberOfCredentialsSupportedPerUser::TypeInfo::DecodableType numberOfCredentialsSupportedPerUser = + static_cast(0); + Attributes::Language::TypeInfo::DecodableType language; + Attributes::LEDSettings::TypeInfo::DecodableType LEDSettings = static_cast(0); + Attributes::AutoRelockTime::TypeInfo::DecodableType autoRelockTime = static_cast(0); + Attributes::SoundVolume::TypeInfo::DecodableType soundVolume = static_cast(0); + Attributes::OperatingMode::TypeInfo::DecodableType operatingMode = + static_cast(0); + Attributes::SupportedOperatingModes::TypeInfo::DecodableType supportedOperatingModes = + static_cast>(0); + Attributes::DefaultConfigurationRegister::TypeInfo::DecodableType defaultConfigurationRegister = + static_cast>(0); + Attributes::EnableLocalProgramming::TypeInfo::DecodableType enableLocalProgramming = static_cast(0); + Attributes::EnableOneTouchLocking::TypeInfo::DecodableType enableOneTouchLocking = static_cast(0); + Attributes::EnableInsideStatusLED::TypeInfo::DecodableType enableInsideStatusLED = static_cast(0); + Attributes::EnablePrivacyModeButton::TypeInfo::DecodableType enablePrivacyModeButton = static_cast(0); + Attributes::LocalProgrammingFeatures::TypeInfo::DecodableType localProgrammingFeatures = + static_cast>(0); + Attributes::WrongCodeEntryLimit::TypeInfo::DecodableType wrongCodeEntryLimit = static_cast(0); + Attributes::UserCodeTemporaryDisableTime::TypeInfo::DecodableType userCodeTemporaryDisableTime = static_cast(0); + Attributes::SendPINOverTheAir::TypeInfo::DecodableType sendPINOverTheAir = static_cast(0); + Attributes::RequirePINforRemoteOperation::TypeInfo::DecodableType requirePINforRemoteOperation = static_cast(0); + Attributes::ExpiringUserTimeout::TypeInfo::DecodableType expiringUserTimeout = static_cast(0); + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; -} // namespace Primary1Intensity -namespace Primary2X { -struct TypeInfo +} // namespace Attributes +namespace Events { +namespace DoorLockAlarm { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; + +enum class Fields { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + kAlarmCode = 0, +}; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary2X::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +struct Type +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::DoorLockAlarm::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr bool kIsFabricScoped = false; + + DlAlarmCode alarmCode = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace Primary2X -namespace Primary2Y { -struct TypeInfo + +struct DecodableType { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::DoorLockAlarm::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary2Y::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + DlAlarmCode alarmCode = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Primary2Y -namespace Primary2Intensity { -struct TypeInfo +} // namespace DoorLockAlarm +namespace DoorStateChange { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; + +enum class Fields { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + kDoorState = 0, +}; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary2Intensity::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +struct Type +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::DoorStateChange::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr bool kIsFabricScoped = false; + + DlDoorState doorState = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace Primary2Intensity -namespace Primary3X { -struct TypeInfo + +struct DecodableType { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::DoorStateChange::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary3X::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + DlDoorState doorState = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +} // namespace DoorStateChange +namespace LockOperation { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; + +enum class Fields +{ + kLockOperationType = 0, + kOperationSource = 1, + kUserIndex = 2, + kFabricIndex = 3, + kSourceNode = 4, + kCredentials = 5, }; -} // namespace Primary3X -namespace Primary3Y { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary3Y::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Primary3Y -namespace Primary3Intensity { -struct TypeInfo +struct Type { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::LockOperation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary3Intensity::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Primary3Intensity -namespace Primary4X { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + DlLockOperationType lockOperationType = static_cast(0); + DlOperationSource operationSource = static_cast(0); + DataModel::Nullable userIndex; + DataModel::Nullable fabricIndex; + DataModel::Nullable sourceNode; + Optional>> credentials; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary4X::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace Primary4X -namespace Primary4Y { -struct TypeInfo + +struct DecodableType { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::LockOperation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary4Y::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + DlLockOperationType lockOperationType = static_cast(0); + DlOperationSource operationSource = static_cast(0); + DataModel::Nullable userIndex; + DataModel::Nullable fabricIndex; + DataModel::Nullable sourceNode; + Optional>> credentials; + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Primary4Y -namespace Primary4Intensity { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +} // namespace LockOperation +namespace LockOperationError { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary4Intensity::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +enum class Fields +{ + kLockOperationType = 0, + kOperationSource = 1, + kOperationError = 2, + kUserIndex = 3, + kFabricIndex = 4, + kSourceNode = 5, + kCredentials = 6, }; -} // namespace Primary4Intensity -namespace Primary5X { -struct TypeInfo + +struct Type { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::LockOperationError::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary5X::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + DlLockOperationType lockOperationType = static_cast(0); + DlOperationSource operationSource = static_cast(0); + DlOperationError operationError = static_cast(0); + DataModel::Nullable userIndex; + DataModel::Nullable fabricIndex; + DataModel::Nullable sourceNode; + Optional>> credentials; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace Primary5X -namespace Primary5Y { -struct TypeInfo + +struct DecodableType { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::LockOperationError::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary5Y::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + DlLockOperationType lockOperationType = static_cast(0); + DlOperationSource operationSource = static_cast(0); + DlOperationError operationError = static_cast(0); + DataModel::Nullable userIndex; + DataModel::Nullable fabricIndex; + DataModel::Nullable sourceNode; + Optional>> credentials; + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Primary5Y -namespace Primary5Intensity { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +} // namespace LockOperationError +namespace LockUserChange { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary5Intensity::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +enum class Fields +{ + kLockDataType = 0, + kDataOperationType = 1, + kOperationSource = 2, + kUserIndex = 3, + kFabricIndex = 4, + kSourceNode = 5, + kDataIndex = 6, }; -} // namespace Primary5Intensity -namespace Primary6X { -struct TypeInfo + +struct Type { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::LockUserChange::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary6X::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + DlLockDataType lockDataType = static_cast(0); + DlDataOperationType dataOperationType = static_cast(0); + DlOperationSource operationSource = static_cast(0); + DataModel::Nullable userIndex; + DataModel::Nullable fabricIndex; + DataModel::Nullable sourceNode; + DataModel::Nullable dataIndex; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace Primary6X -namespace Primary6Y { -struct TypeInfo + +struct DecodableType { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::LockUserChange::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary6Y::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + DlLockDataType lockDataType = static_cast(0); + DlDataOperationType dataOperationType = static_cast(0); + DlOperationSource operationSource = static_cast(0); + DataModel::Nullable userIndex; + DataModel::Nullable fabricIndex; + DataModel::Nullable sourceNode; + DataModel::Nullable dataIndex; + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Primary6Y -namespace Primary6Intensity { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +} // namespace LockUserChange +} // namespace Events +} // namespace DoorLock +namespace WindowCovering { + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace UpOrOpen { +struct Type; +struct DecodableType; +} // namespace UpOrOpen + +namespace DownOrClose { +struct Type; +struct DecodableType; +} // namespace DownOrClose + +namespace StopMotion { +struct Type; +struct DecodableType; +} // namespace StopMotion + +namespace GoToLiftValue { +struct Type; +struct DecodableType; +} // namespace GoToLiftValue + +namespace GoToLiftPercentage { +struct Type; +struct DecodableType; +} // namespace GoToLiftPercentage + +namespace GoToTiltValue { +struct Type; +struct DecodableType; +} // namespace GoToTiltValue + +namespace GoToTiltPercentage { +struct Type; +struct DecodableType; +} // namespace GoToTiltPercentage - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Primary6Intensity::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Primary6Intensity -namespace WhitePointX { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +} // namespace Commands - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::WhitePointX::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace WhitePointX -namespace WhitePointY { -struct TypeInfo +namespace Commands { +namespace UpOrOpen { +enum class Fields { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::WhitePointY::Id; } - static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace WhitePointY -namespace ColorPointRX { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointRX::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ColorPointRX -namespace ColorPointRY { -struct TypeInfo +struct Type { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::UpOrOpen::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointRY::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ColorPointRY -namespace ColorPointRIntensity { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointRIntensity::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ColorPointRIntensity -namespace ColorPointGX { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using ResponseType = DataModel::NullObjectType; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointGX::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace ColorPointGX -namespace ColorPointGY { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointGY::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ColorPointGY -namespace ColorPointGIntensity { -struct TypeInfo +struct DecodableType { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +public: + static constexpr CommandId GetCommandId() { return Commands::UpOrOpen::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointGIntensity::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace ColorPointGIntensity -namespace ColorPointBX { -struct TypeInfo +}; // namespace UpOrOpen +namespace DownOrClose { +enum class Fields { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointBX::Id; } - static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ColorPointBX -namespace ColorPointBY { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointBY::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ColorPointBY -namespace ColorPointBIntensity { -struct TypeInfo +struct Type { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::DownOrClose::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointBIntensity::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ColorPointBIntensity -namespace EnhancedCurrentHue { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::EnhancedCurrentHue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace EnhancedCurrentHue -namespace EnhancedColorMode { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using ResponseType = DataModel::NullObjectType; - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::EnhancedColorMode::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace EnhancedColorMode -namespace ColorLoopActive { -struct TypeInfo + +struct DecodableType { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; +public: + static constexpr CommandId GetCommandId() { return Commands::DownOrClose::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorLoopActive::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace ColorLoopActive -namespace ColorLoopDirection { -struct TypeInfo +}; // namespace DownOrClose +namespace StopMotion { +enum class Fields { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorLoopDirection::Id; } - static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ColorLoopDirection -namespace ColorLoopTime { -struct TypeInfo + +struct Type { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::StopMotion::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorLoopTime::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace ColorLoopTime -namespace ColorLoopStartEnhancedHue { -struct TypeInfo + +struct DecodableType { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + static constexpr CommandId GetCommandId() { return Commands::StopMotion::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorLoopStartEnhancedHue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace ColorLoopStartEnhancedHue -namespace ColorLoopStoredEnhancedHue { -struct TypeInfo +}; // namespace StopMotion +namespace GoToLiftValue { +enum class Fields { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorLoopStoredEnhancedHue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kLiftValue = 0, }; -} // namespace ColorLoopStoredEnhancedHue -namespace ColorCapabilities { -struct TypeInfo + +struct Type { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::GoToLiftValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorCapabilities::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint16_t liftValue = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace ColorCapabilities -namespace ColorTempPhysicalMinMireds { -struct TypeInfo + +struct DecodableType { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + static constexpr CommandId GetCommandId() { return Commands::GoToLiftValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorTempPhysicalMinMireds::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint16_t liftValue = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace ColorTempPhysicalMinMireds -namespace ColorTempPhysicalMaxMireds { -struct TypeInfo +}; // namespace GoToLiftValue +namespace GoToLiftPercentage { +enum class Fields { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ColorTempPhysicalMaxMireds::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kLiftPercent100thsValue = 0, }; -} // namespace ColorTempPhysicalMaxMireds -namespace CoupleColorTempToLevelMinMireds { -struct TypeInfo + +struct Type { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::GoToLiftPercentage::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CoupleColorTempToLevelMinMireds::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + chip::Percent100ths liftPercent100thsValue = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace CoupleColorTempToLevelMinMireds -namespace StartUpColorTemperatureMireds { -struct TypeInfo + +struct DecodableType { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + static constexpr CommandId GetCommandId() { return Commands::GoToLiftPercentage::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::StartUpColorTemperatureMireds::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + chip::Percent100ths liftPercent100thsValue = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace StartUpColorTemperatureMireds -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +}; // namespace GoToLiftPercentage +namespace GoToTiltValue { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + kTiltValue = 0, }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::GoToTiltValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + + uint16_t tiltValue = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::GoToTiltValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + + uint16_t tiltValue = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +}; // namespace GoToTiltValue +namespace GoToTiltPercentage { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + kTiltPercent100thsValue = 0, }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::GoToTiltPercentage::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + + chip::Percent100ths tiltPercent100thsValue = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace ClusterRevision -struct TypeInfo +struct DecodableType { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +public: + static constexpr CommandId GetCommandId() { return Commands::GoToTiltPercentage::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } - Attributes::CurrentHue::TypeInfo::DecodableType currentHue = static_cast(0); - Attributes::CurrentSaturation::TypeInfo::DecodableType currentSaturation = static_cast(0); - Attributes::RemainingTime::TypeInfo::DecodableType remainingTime = static_cast(0); - Attributes::CurrentX::TypeInfo::DecodableType currentX = static_cast(0); - Attributes::CurrentY::TypeInfo::DecodableType currentY = static_cast(0); - Attributes::DriftCompensation::TypeInfo::DecodableType driftCompensation = static_cast(0); - Attributes::CompensationText::TypeInfo::DecodableType compensationText; - Attributes::ColorTemperature::TypeInfo::DecodableType colorTemperature = static_cast(0); - Attributes::ColorMode::TypeInfo::DecodableType colorMode = static_cast(0); - Attributes::Options::TypeInfo::DecodableType options = static_cast(0); - Attributes::NumberOfPrimaries::TypeInfo::DecodableType numberOfPrimaries; - Attributes::Primary1X::TypeInfo::DecodableType primary1X = static_cast(0); - Attributes::Primary1Y::TypeInfo::DecodableType primary1Y = static_cast(0); - Attributes::Primary1Intensity::TypeInfo::DecodableType primary1Intensity; - Attributes::Primary2X::TypeInfo::DecodableType primary2X = static_cast(0); - Attributes::Primary2Y::TypeInfo::DecodableType primary2Y = static_cast(0); - Attributes::Primary2Intensity::TypeInfo::DecodableType primary2Intensity; - Attributes::Primary3X::TypeInfo::DecodableType primary3X = static_cast(0); - Attributes::Primary3Y::TypeInfo::DecodableType primary3Y = static_cast(0); - Attributes::Primary3Intensity::TypeInfo::DecodableType primary3Intensity; - Attributes::Primary4X::TypeInfo::DecodableType primary4X = static_cast(0); - Attributes::Primary4Y::TypeInfo::DecodableType primary4Y = static_cast(0); - Attributes::Primary4Intensity::TypeInfo::DecodableType primary4Intensity; - Attributes::Primary5X::TypeInfo::DecodableType primary5X = static_cast(0); - Attributes::Primary5Y::TypeInfo::DecodableType primary5Y = static_cast(0); - Attributes::Primary5Intensity::TypeInfo::DecodableType primary5Intensity; - Attributes::Primary6X::TypeInfo::DecodableType primary6X = static_cast(0); - Attributes::Primary6Y::TypeInfo::DecodableType primary6Y = static_cast(0); - Attributes::Primary6Intensity::TypeInfo::DecodableType primary6Intensity; - Attributes::WhitePointX::TypeInfo::DecodableType whitePointX = static_cast(0); - Attributes::WhitePointY::TypeInfo::DecodableType whitePointY = static_cast(0); - Attributes::ColorPointRX::TypeInfo::DecodableType colorPointRX = static_cast(0); - Attributes::ColorPointRY::TypeInfo::DecodableType colorPointRY = static_cast(0); - Attributes::ColorPointRIntensity::TypeInfo::DecodableType colorPointRIntensity; - Attributes::ColorPointGX::TypeInfo::DecodableType colorPointGX = static_cast(0); - Attributes::ColorPointGY::TypeInfo::DecodableType colorPointGY = static_cast(0); - Attributes::ColorPointGIntensity::TypeInfo::DecodableType colorPointGIntensity; - Attributes::ColorPointBX::TypeInfo::DecodableType colorPointBX = static_cast(0); - Attributes::ColorPointBY::TypeInfo::DecodableType colorPointBY = static_cast(0); - Attributes::ColorPointBIntensity::TypeInfo::DecodableType colorPointBIntensity; - Attributes::EnhancedCurrentHue::TypeInfo::DecodableType enhancedCurrentHue = static_cast(0); - Attributes::EnhancedColorMode::TypeInfo::DecodableType enhancedColorMode = static_cast(0); - Attributes::ColorLoopActive::TypeInfo::DecodableType colorLoopActive = static_cast(0); - Attributes::ColorLoopDirection::TypeInfo::DecodableType colorLoopDirection = static_cast(0); - Attributes::ColorLoopTime::TypeInfo::DecodableType colorLoopTime = static_cast(0); - Attributes::ColorLoopStartEnhancedHue::TypeInfo::DecodableType colorLoopStartEnhancedHue = static_cast(0); - Attributes::ColorLoopStoredEnhancedHue::TypeInfo::DecodableType colorLoopStoredEnhancedHue = static_cast(0); - Attributes::ColorCapabilities::TypeInfo::DecodableType colorCapabilities = static_cast(0); - Attributes::ColorTempPhysicalMinMireds::TypeInfo::DecodableType colorTempPhysicalMinMireds = static_cast(0); - Attributes::ColorTempPhysicalMaxMireds::TypeInfo::DecodableType colorTempPhysicalMaxMireds = static_cast(0); - Attributes::CoupleColorTempToLevelMinMireds::TypeInfo::DecodableType coupleColorTempToLevelMinMireds = - static_cast(0); - Attributes::StartUpColorTemperatureMireds::TypeInfo::DecodableType startUpColorTemperatureMireds = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + chip::Percent100ths tiltPercent100thsValue = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Attributes -} // namespace ColorControl -namespace BallastConfiguration { +}; // namespace GoToTiltPercentage +} // namespace Commands namespace Attributes { -namespace PhysicalMinLevel { +namespace Type { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::Clusters::WindowCovering::Type; + using DecodableType = chip::app::Clusters::WindowCovering::Type; + using DecodableArgType = chip::app::Clusters::WindowCovering::Type; - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalMinLevel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Type::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace PhysicalMinLevel -namespace PhysicalMaxLevel { +} // namespace Type +namespace PhysicalClosedLimitLift { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalMaxLevel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalClosedLimitLift::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace PhysicalClosedLimitLift +namespace PhysicalClosedLimitTilt { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalClosedLimitTilt::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace PhysicalMaxLevel -namespace BallastStatus { +} // namespace PhysicalClosedLimitTilt +namespace CurrentPositionLift { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BallastStatus::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionLift::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace BallastStatus -namespace MinLevel { +} // namespace CurrentPositionLift +namespace CurrentPositionTilt { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinLevel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionTilt::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinLevel -namespace MaxLevel { +} // namespace CurrentPositionTilt +namespace NumberOfActuationsLift { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxLevel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfActuationsLift::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxLevel -namespace IntrinsicBalanceFactor { +} // namespace NumberOfActuationsLift +namespace NumberOfActuationsTilt { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::IntrinsicBalanceFactor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfActuationsTilt::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace IntrinsicBalanceFactor -namespace BallastFactorAdjustment { +} // namespace NumberOfActuationsTilt +namespace ConfigStatus { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = chip::BitMask; + using DecodableType = chip::BitMask; + using DecodableArgType = chip::BitMask; - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BallastFactorAdjustment::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ConfigStatus::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace BallastFactorAdjustment -namespace LampQuantity { +} // namespace ConfigStatus +namespace CurrentPositionLiftPercentage { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LampQuantity::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionLiftPercentage::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace LampQuantity -namespace LampType { +} // namespace CurrentPositionLiftPercentage +namespace CurrentPositionTiltPercentage { struct TypeInfo { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LampType::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionTiltPercentage::Id; } static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } }; -} // namespace LampType -namespace LampManufacturer { +} // namespace CurrentPositionTiltPercentage +namespace OperationalStatus { struct TypeInfo { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + using Type = chip::BitMask; + using DecodableType = chip::BitMask; + using DecodableArgType = chip::BitMask; - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LampManufacturer::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OperationalStatus::Id; } static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } }; -} // namespace LampManufacturer -namespace LampRatedHours { +} // namespace OperationalStatus +namespace TargetPositionLiftPercent100ths { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LampRatedHours::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TargetPositionLiftPercent100ths::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace LampRatedHours -namespace LampBurnHours { +} // namespace TargetPositionLiftPercent100ths +namespace TargetPositionTiltPercent100ths { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LampBurnHours::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TargetPositionTiltPercent100ths::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace LampBurnHours -namespace LampAlarmMode { +} // namespace TargetPositionTiltPercent100ths +namespace EndProductType { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::Clusters::WindowCovering::EndProductType; + using DecodableType = chip::app::Clusters::WindowCovering::EndProductType; + using DecodableArgType = chip::app::Clusters::WindowCovering::EndProductType; - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LampAlarmMode::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::EndProductType::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace LampAlarmMode -namespace LampBurnHoursTripPoint { +} // namespace EndProductType +namespace CurrentPositionLiftPercent100ths { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LampBurnHoursTripPoint::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionLiftPercent100ths::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace LampBurnHoursTripPoint -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } -}; -} // namespace ClusterRevision - +} // namespace CurrentPositionLiftPercent100ths +namespace CurrentPositionTiltPercent100ths { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - Attributes::PhysicalMinLevel::TypeInfo::DecodableType physicalMinLevel = static_cast(0); - Attributes::PhysicalMaxLevel::TypeInfo::DecodableType physicalMaxLevel = static_cast(0); - Attributes::BallastStatus::TypeInfo::DecodableType ballastStatus = static_cast(0); - Attributes::MinLevel::TypeInfo::DecodableType minLevel = static_cast(0); - Attributes::MaxLevel::TypeInfo::DecodableType maxLevel = static_cast(0); - Attributes::IntrinsicBalanceFactor::TypeInfo::DecodableType intrinsicBalanceFactor; - Attributes::BallastFactorAdjustment::TypeInfo::DecodableType ballastFactorAdjustment; - Attributes::LampQuantity::TypeInfo::DecodableType lampQuantity = static_cast(0); - Attributes::LampType::TypeInfo::DecodableType lampType; - Attributes::LampManufacturer::TypeInfo::DecodableType lampManufacturer; - Attributes::LampRatedHours::TypeInfo::DecodableType lampRatedHours; - Attributes::LampBurnHours::TypeInfo::DecodableType lampBurnHours; - Attributes::LampAlarmMode::TypeInfo::DecodableType lampAlarmMode = static_cast(0); - Attributes::LampBurnHoursTripPoint::TypeInfo::DecodableType lampBurnHoursTripPoint; - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionTiltPercent100ths::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace BallastConfiguration -namespace IlluminanceMeasurement { - -namespace Attributes { - -namespace MeasuredValue { +} // namespace CurrentPositionTiltPercent100ths +namespace InstalledOpenLimitLift { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::InstalledOpenLimitLift::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace InstalledOpenLimitLift +namespace InstalledClosedLimitLift { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::InstalledClosedLimitLift::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace InstalledClosedLimitLift +namespace InstalledOpenLimitTilt { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::InstalledOpenLimitTilt::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace InstalledOpenLimitTilt +namespace InstalledClosedLimitTilt { struct TypeInfo { using Type = uint16_t; using DecodableType = uint16_t; using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::InstalledClosedLimitTilt::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance -namespace LightSensorType { +} // namespace InstalledClosedLimitTilt +namespace Mode { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = chip::BitMask; + using DecodableType = chip::BitMask; + using DecodableArgType = chip::BitMask; - static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LightSensorType::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Mode::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace LightSensorType +} // namespace Mode +namespace SafetyStatus { +struct TypeInfo +{ + using Type = chip::BitMask; + using DecodableType = chip::BitMask; + using DecodableArgType = chip::BitMask; + + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SafetyStatus::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace SafetyStatus namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } }; } // namespace ClusterRevision @@ -22867,15 +15001,36 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue; - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue; - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue; - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::LightSensorType::TypeInfo::DecodableType lightSensorType; + Attributes::Type::TypeInfo::DecodableType type = static_cast(0); + Attributes::PhysicalClosedLimitLift::TypeInfo::DecodableType physicalClosedLimitLift = static_cast(0); + Attributes::PhysicalClosedLimitTilt::TypeInfo::DecodableType physicalClosedLimitTilt = static_cast(0); + Attributes::CurrentPositionLift::TypeInfo::DecodableType currentPositionLift; + Attributes::CurrentPositionTilt::TypeInfo::DecodableType currentPositionTilt; + Attributes::NumberOfActuationsLift::TypeInfo::DecodableType numberOfActuationsLift = static_cast(0); + Attributes::NumberOfActuationsTilt::TypeInfo::DecodableType numberOfActuationsTilt = static_cast(0); + Attributes::ConfigStatus::TypeInfo::DecodableType configStatus = + static_cast>(0); + Attributes::CurrentPositionLiftPercentage::TypeInfo::DecodableType currentPositionLiftPercentage; + Attributes::CurrentPositionTiltPercentage::TypeInfo::DecodableType currentPositionTiltPercentage; + Attributes::OperationalStatus::TypeInfo::DecodableType operationalStatus = + static_cast>(0); + Attributes::TargetPositionLiftPercent100ths::TypeInfo::DecodableType targetPositionLiftPercent100ths; + Attributes::TargetPositionTiltPercent100ths::TypeInfo::DecodableType targetPositionTiltPercent100ths; + Attributes::EndProductType::TypeInfo::DecodableType endProductType = + static_cast(0); + Attributes::CurrentPositionLiftPercent100ths::TypeInfo::DecodableType currentPositionLiftPercent100ths; + Attributes::CurrentPositionTiltPercent100ths::TypeInfo::DecodableType currentPositionTiltPercent100ths; + Attributes::InstalledOpenLimitLift::TypeInfo::DecodableType installedOpenLimitLift = static_cast(0); + Attributes::InstalledClosedLimitLift::TypeInfo::DecodableType installedClosedLimitLift = static_cast(0); + Attributes::InstalledOpenLimitTilt::TypeInfo::DecodableType installedOpenLimitTilt = static_cast(0); + Attributes::InstalledClosedLimitTilt::TypeInfo::DecodableType installedClosedLimitTilt = static_cast(0); + Attributes::Mode::TypeInfo::DecodableType mode = static_cast>(0); + Attributes::SafetyStatus::TypeInfo::DecodableType safetyStatus = + static_cast>(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -22884,360 +15039,237 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace IlluminanceMeasurement -namespace TemperatureMeasurement { - -namespace Attributes { +} // namespace WindowCovering +namespace BarrierControl { -namespace MeasuredValue { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +namespace Commands { +// Forward-declarations so we can reference these later. - static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MeasuredValue -namespace MinMeasuredValue { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +namespace BarrierControlGoToPercent { +struct Type; +struct DecodableType; +} // namespace BarrierControlGoToPercent - static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +namespace BarrierControlStop { +struct Type; +struct DecodableType; +} // namespace BarrierControlStop - static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MaxMeasuredValue -namespace Tolerance { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +} // namespace Commands - static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +namespace Commands { +namespace BarrierControlGoToPercent { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } + kPercentOpen = 0, }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::BarrierControlGoToPercent::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } + + uint8_t percentOpen = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::BarrierControlGoToPercent::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } + + uint8_t percentOpen = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +}; // namespace BarrierControlGoToPercent +namespace BarrierControlStop { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue; - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue; - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue; - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace TemperatureMeasurement -namespace PressureMeasurement { +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::BarrierControlStop::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } -namespace Attributes { + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -namespace MeasuredValue { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using ResponseType = DataModel::NullObjectType; - static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { -struct TypeInfo + +struct DecodableType { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; +public: + static constexpr CommandId GetCommandId() { return Commands::BarrierControlStop::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +}; // namespace BarrierControlStop +} // namespace Commands + +namespace Attributes { + +namespace BarrierMovingState { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BarrierMovingState::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace BarrierMovingState +namespace BarrierSafetyStatus { struct TypeInfo { using Type = uint16_t; using DecodableType = uint16_t; using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Tolerance -namespace ScaledValue { -struct TypeInfo -{ - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; - - static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ScaledValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BarrierSafetyStatus::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ScaledValue -namespace MinScaledValue { +} // namespace BarrierSafetyStatus +namespace BarrierCapabilities { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinScaledValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BarrierCapabilities::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinScaledValue -namespace MaxScaledValue { +} // namespace BarrierCapabilities +namespace BarrierOpenEvents { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxScaledValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BarrierOpenEvents::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxScaledValue -namespace ScaledTolerance { +} // namespace BarrierOpenEvents +namespace BarrierCloseEvents { struct TypeInfo { using Type = uint16_t; using DecodableType = uint16_t; using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ScaledTolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BarrierCloseEvents::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ScaledTolerance -namespace Scale { +} // namespace BarrierCloseEvents +namespace BarrierCommandOpenEvents { struct TypeInfo { - using Type = int8_t; - using DecodableType = int8_t; - using DecodableArgType = int8_t; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Scale::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BarrierCommandOpenEvents::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Scale -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } -}; -} // namespace ClusterRevision - -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue; - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue; - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue; - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::ScaledValue::TypeInfo::DecodableType scaledValue; - Attributes::MinScaledValue::TypeInfo::DecodableType minScaledValue; - Attributes::MaxScaledValue::TypeInfo::DecodableType maxScaledValue; - Attributes::ScaledTolerance::TypeInfo::DecodableType scaledTolerance = static_cast(0); - Attributes::Scale::TypeInfo::DecodableType scale = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace PressureMeasurement -namespace FlowMeasurement { - -namespace Attributes { - -namespace MeasuredValue { +} // namespace BarrierCommandOpenEvents +namespace BarrierCommandCloseEvents { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BarrierCommandCloseEvents::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace BarrierCommandCloseEvents +namespace BarrierOpenPeriod { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BarrierOpenPeriod::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace BarrierOpenPeriod +namespace BarrierClosePeriod { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BarrierClosePeriod::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace BarrierClosePeriod +namespace BarrierPosition { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BarrierPosition::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance +} // namespace BarrierPosition namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } }; } // namespace ClusterRevision @@ -23245,14 +15277,20 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue; - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue; - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue; - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); + Attributes::BarrierMovingState::TypeInfo::DecodableType barrierMovingState = static_cast(0); + Attributes::BarrierSafetyStatus::TypeInfo::DecodableType barrierSafetyStatus = static_cast(0); + Attributes::BarrierCapabilities::TypeInfo::DecodableType barrierCapabilities = static_cast(0); + Attributes::BarrierOpenEvents::TypeInfo::DecodableType barrierOpenEvents = static_cast(0); + Attributes::BarrierCloseEvents::TypeInfo::DecodableType barrierCloseEvents = static_cast(0); + Attributes::BarrierCommandOpenEvents::TypeInfo::DecodableType barrierCommandOpenEvents = static_cast(0); + Attributes::BarrierCommandCloseEvents::TypeInfo::DecodableType barrierCommandCloseEvents = static_cast(0); + Attributes::BarrierOpenPeriod::TypeInfo::DecodableType barrierOpenPeriod = static_cast(0); + Attributes::BarrierClosePeriod::TypeInfo::DecodableType barrierClosePeriod = static_cast(0); + Attributes::BarrierPosition::TypeInfo::DecodableType barrierPosition = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -23260,288 +15298,316 @@ struct TypeInfo Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); }; }; -} // namespace Attributes -} // namespace FlowMeasurement -namespace RelativeHumidityMeasurement { +} // namespace Attributes +} // namespace BarrierControl +namespace PumpConfigurationAndControl { namespace Attributes { -namespace MeasuredValue { +namespace MaxPressure { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxPressure::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace MaxPressure +namespace MaxSpeed { struct TypeInfo { using Type = chip::app::DataModel::Nullable; using DecodableType = chip::app::DataModel::Nullable; using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxSpeed::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace MaxSpeed +namespace MaxFlow { struct TypeInfo { using Type = chip::app::DataModel::Nullable; using DecodableType = chip::app::DataModel::Nullable; using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxFlow::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace MaxFlow +namespace MinConstPressure { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinConstPressure::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +} // namespace MinConstPressure +namespace MaxConstPressure { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxConstPressure::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +} // namespace MaxConstPressure +namespace MinCompPressure { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinCompPressure::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +} // namespace MinCompPressure +namespace MaxCompPressure { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxCompPressure::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace MaxCompPressure +namespace MinConstSpeed { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinConstSpeed::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace MinConstSpeed +namespace MaxConstSpeed { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } -}; -} // namespace ClusterRevision + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxConstSpeed::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MaxConstSpeed +namespace MinConstFlow { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue; - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue; - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue; - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinConstFlow::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace RelativeHumidityMeasurement -namespace OccupancySensing { - -namespace Attributes { +} // namespace MinConstFlow +namespace MaxConstFlow { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; -namespace Occupancy { + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxConstFlow::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MaxConstFlow +namespace MinConstTemp { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Occupancy::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinConstTemp::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Occupancy -namespace OccupancySensorType { +} // namespace MinConstTemp +namespace MaxConstTemp { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OccupancySensorType::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxConstTemp::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace OccupancySensorType -namespace OccupancySensorTypeBitmap { +} // namespace MaxConstTemp +namespace PumpStatus { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::BitMask; + using DecodableType = chip::BitMask; + using DecodableArgType = chip::BitMask; - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OccupancySensorTypeBitmap::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PumpStatus::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace OccupancySensorTypeBitmap -namespace PirOccupiedToUnoccupiedDelay { +} // namespace PumpStatus +namespace EffectiveOperationMode { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode; + using DecodableType = chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode; + using DecodableArgType = chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode; - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PirOccupiedToUnoccupiedDelay::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::EffectiveOperationMode::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace PirOccupiedToUnoccupiedDelay -namespace PirUnoccupiedToOccupiedDelay { +} // namespace EffectiveOperationMode +namespace EffectiveControlMode { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode; + using DecodableType = chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode; + using DecodableArgType = chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode; - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PirUnoccupiedToOccupiedDelay::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::EffectiveControlMode::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace PirUnoccupiedToOccupiedDelay -namespace PirUnoccupiedToOccupiedThreshold { +} // namespace EffectiveControlMode +namespace Capacity { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PirUnoccupiedToOccupiedThreshold::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Capacity::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace PirUnoccupiedToOccupiedThreshold -namespace UltrasonicOccupiedToUnoccupiedDelay { +} // namespace Capacity +namespace Speed { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Speed::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace UltrasonicOccupiedToUnoccupiedDelay -namespace UltrasonicUnoccupiedToOccupiedDelay { +} // namespace Speed +namespace LifetimeRunningHours { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LifetimeRunningHours::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace UltrasonicUnoccupiedToOccupiedDelay -namespace UltrasonicUnoccupiedToOccupiedThreshold { +} // namespace LifetimeRunningHours +namespace Power { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Power::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace UltrasonicUnoccupiedToOccupiedThreshold -namespace PhysicalContactOccupiedToUnoccupiedDelay { +} // namespace Power +namespace LifetimeEnergyConsumed { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LifetimeEnergyConsumed::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace PhysicalContactOccupiedToUnoccupiedDelay -namespace PhysicalContactUnoccupiedToOccupiedDelay { +} // namespace LifetimeEnergyConsumed +namespace OperationMode { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode; + using DecodableType = chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode; + using DecodableArgType = chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode; - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OperationMode::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace PhysicalContactUnoccupiedToOccupiedDelay -namespace PhysicalContactUnoccupiedToOccupiedThreshold { +} // namespace OperationMode +namespace ControlMode { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode; + using DecodableType = chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode; + using DecodableArgType = chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode; - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ControlMode::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace PhysicalContactUnoccupiedToOccupiedThreshold +} // namespace ControlMode namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } }; } // namespace ClusterRevision @@ -23549,29 +15615,38 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::Occupancy::TypeInfo::DecodableType occupancy = static_cast(0); - Attributes::OccupancySensorType::TypeInfo::DecodableType occupancySensorType = static_cast(0); - Attributes::OccupancySensorTypeBitmap::TypeInfo::DecodableType occupancySensorTypeBitmap = static_cast(0); - Attributes::PirOccupiedToUnoccupiedDelay::TypeInfo::DecodableType pirOccupiedToUnoccupiedDelay = static_cast(0); - Attributes::PirUnoccupiedToOccupiedDelay::TypeInfo::DecodableType pirUnoccupiedToOccupiedDelay = static_cast(0); - Attributes::PirUnoccupiedToOccupiedThreshold::TypeInfo::DecodableType pirUnoccupiedToOccupiedThreshold = - static_cast(0); - Attributes::UltrasonicOccupiedToUnoccupiedDelay::TypeInfo::DecodableType ultrasonicOccupiedToUnoccupiedDelay = - static_cast(0); - Attributes::UltrasonicUnoccupiedToOccupiedDelay::TypeInfo::DecodableType ultrasonicUnoccupiedToOccupiedDelay = - static_cast(0); - Attributes::UltrasonicUnoccupiedToOccupiedThreshold::TypeInfo::DecodableType ultrasonicUnoccupiedToOccupiedThreshold = - static_cast(0); - Attributes::PhysicalContactOccupiedToUnoccupiedDelay::TypeInfo::DecodableType physicalContactOccupiedToUnoccupiedDelay = - static_cast(0); - Attributes::PhysicalContactUnoccupiedToOccupiedDelay::TypeInfo::DecodableType physicalContactUnoccupiedToOccupiedDelay = - static_cast(0); - Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::TypeInfo::DecodableType - physicalContactUnoccupiedToOccupiedThreshold = static_cast(0); + Attributes::MaxPressure::TypeInfo::DecodableType maxPressure; + Attributes::MaxSpeed::TypeInfo::DecodableType maxSpeed; + Attributes::MaxFlow::TypeInfo::DecodableType maxFlow; + Attributes::MinConstPressure::TypeInfo::DecodableType minConstPressure; + Attributes::MaxConstPressure::TypeInfo::DecodableType maxConstPressure; + Attributes::MinCompPressure::TypeInfo::DecodableType minCompPressure; + Attributes::MaxCompPressure::TypeInfo::DecodableType maxCompPressure; + Attributes::MinConstSpeed::TypeInfo::DecodableType minConstSpeed; + Attributes::MaxConstSpeed::TypeInfo::DecodableType maxConstSpeed; + Attributes::MinConstFlow::TypeInfo::DecodableType minConstFlow; + Attributes::MaxConstFlow::TypeInfo::DecodableType maxConstFlow; + Attributes::MinConstTemp::TypeInfo::DecodableType minConstTemp; + Attributes::MaxConstTemp::TypeInfo::DecodableType maxConstTemp; + Attributes::PumpStatus::TypeInfo::DecodableType pumpStatus = + static_cast>(0); + Attributes::EffectiveOperationMode::TypeInfo::DecodableType effectiveOperationMode = + static_cast(0); + Attributes::EffectiveControlMode::TypeInfo::DecodableType effectiveControlMode = + static_cast(0); + Attributes::Capacity::TypeInfo::DecodableType capacity; + Attributes::Speed::TypeInfo::DecodableType speed; + Attributes::LifetimeRunningHours::TypeInfo::DecodableType lifetimeRunningHours; + Attributes::Power::TypeInfo::DecodableType power; + Attributes::LifetimeEnergyConsumed::TypeInfo::DecodableType lifetimeEnergyConsumed; + Attributes::OperationMode::TypeInfo::DecodableType operationMode = + static_cast(0); + Attributes::ControlMode::TypeInfo::DecodableType controlMode = + static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -23580,1335 +15655,1345 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace OccupancySensing -namespace CarbonMonoxideConcentrationMeasurement { +namespace Events { +namespace SupplyVoltageLow { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; -namespace Attributes { +enum class Fields +{ +}; -namespace MeasuredValue { -struct TypeInfo +struct Type { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::SupplyVoltageLow::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::CarbonMonoxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace MeasuredValue -namespace MinMeasuredValue { -struct TypeInfo + +struct DecodableType { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::SupplyVoltageLow::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::CarbonMonoxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { -struct TypeInfo +} // namespace SupplyVoltageLow +namespace SupplyVoltageHigh { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + +enum class Fields { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +}; - static constexpr ClusterId GetClusterId() { return Clusters::CarbonMonoxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +struct Type +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::SupplyVoltageHigh::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace MaxMeasuredValue -namespace Tolerance { -struct TypeInfo + +struct DecodableType { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::SupplyVoltageHigh::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +} // namespace SupplyVoltageHigh +namespace PowerMissingPhase { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + +enum class Fields +{ +}; + +struct Type +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::PowerMissingPhase::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +struct DecodableType +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::PowerMissingPhase::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +} // namespace PowerMissingPhase +namespace SystemPressureLow { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + +enum class Fields +{ +}; + +struct Type +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::SystemPressureLow::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +struct DecodableType +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::SystemPressureLow::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::CarbonMonoxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +} // namespace SystemPressureLow +namespace SystemPressureHigh { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::CarbonMonoxideConcentrationMeasurement::Id; } }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::CarbonMonoxideConcentrationMeasurement::Id; } +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::SystemPressureHigh::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::CarbonMonoxideConcentrationMeasurement::Id; } +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::SystemPressureHigh::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace SystemPressureHigh +namespace DryRunning { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; + +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::CarbonMonoxideConcentrationMeasurement::Id; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::CarbonMonoxideConcentrationMeasurement::Id; } +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::DryRunning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace ClusterRevision -struct TypeInfo +struct DecodableType { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::CarbonMonoxideConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::DryRunning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Attributes -} // namespace CarbonMonoxideConcentrationMeasurement -namespace CarbonDioxideConcentrationMeasurement { +} // namespace DryRunning +namespace MotorTemperatureHigh { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; -namespace Attributes { +enum class Fields +{ +}; -namespace MeasuredValue { -struct TypeInfo +struct Type { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::MotorTemperatureHigh::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::CarbonDioxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace MeasuredValue -namespace MinMeasuredValue { -struct TypeInfo + +struct DecodableType { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::MotorTemperatureHigh::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::CarbonDioxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { -struct TypeInfo -{ - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +} // namespace MotorTemperatureHigh +namespace PumpMotorFatalFailure { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; - static constexpr ClusterId GetClusterId() { return Clusters::CarbonDioxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +enum class Fields +{ }; -} // namespace MaxMeasuredValue -namespace Tolerance { -struct TypeInfo + +struct Type { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::PumpMotorFatalFailure::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::CarbonDioxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::CarbonDioxideConcentrationMeasurement::Id; } +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::PumpMotorFatalFailure::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +} // namespace PumpMotorFatalFailure +namespace ElectronicTemperatureHigh { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::CarbonDioxideConcentrationMeasurement::Id; } }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::CarbonDioxideConcentrationMeasurement::Id; } +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ElectronicTemperatureHigh::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::CarbonDioxideConcentrationMeasurement::Id; } +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ElectronicTemperatureHigh::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace ElectronicTemperatureHigh +namespace PumpBlocked { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; + +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::CarbonDioxideConcentrationMeasurement::Id; } }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::CarbonDioxideConcentrationMeasurement::Id; } +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::PumpBlocked::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; +struct DecodableType +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::PumpBlocked::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Attributes -} // namespace CarbonDioxideConcentrationMeasurement -namespace EthyleneConcentrationMeasurement { +} // namespace PumpBlocked +namespace SensorFailure { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; -namespace Attributes { +enum class Fields +{ +}; -namespace MeasuredValue { -struct TypeInfo +struct Type { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::SensorFailure::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace MeasuredValue -namespace MinMeasuredValue { -struct TypeInfo + +struct DecodableType { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::SensorFailure::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +} // namespace SensorFailure +namespace ElectronicNonFatalFailure { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +enum class Fields +{ }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { -struct TypeInfo + +struct Type { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ElectronicNonFatalFailure::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace MaxMeasuredValue -namespace Tolerance { -struct TypeInfo + +struct DecodableType { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ElectronicNonFatalFailure::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +} // namespace ElectronicNonFatalFailure +namespace ElectronicFatalFailure { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Critical; + +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneConcentrationMeasurement::Id; } }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneConcentrationMeasurement::Id; } +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ElectronicFatalFailure::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneConcentrationMeasurement::Id; } +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::ElectronicFatalFailure::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace ElectronicFatalFailure +namespace GeneralFault { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneConcentrationMeasurement::Id; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneConcentrationMeasurement::Id; } +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::GeneralFault::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace ClusterRevision -struct TypeInfo +struct DecodableType { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::GeneralFault::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Attributes -} // namespace EthyleneConcentrationMeasurement -namespace EthyleneOxideConcentrationMeasurement { +} // namespace GeneralFault +namespace Leakage { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; -namespace Attributes { +enum class Fields +{ +}; -namespace MeasuredValue { -struct TypeInfo +struct Type { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::Leakage::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneOxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace MeasuredValue -namespace MinMeasuredValue { -struct TypeInfo + +struct DecodableType { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::Leakage::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneOxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { -struct TypeInfo +} // namespace Leakage +namespace AirDetection { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + +enum class Fields { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +}; - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneOxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } +struct Type +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::AirDetection::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace MaxMeasuredValue -namespace Tolerance { -struct TypeInfo + +struct DecodableType { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::AirDetection::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneOxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +} // namespace AirDetection +namespace TurbineOperation { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneOxideConcentrationMeasurement::Id; } }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneOxideConcentrationMeasurement::Id; } +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::TurbineOperation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneOxideConcentrationMeasurement::Id; } +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::TurbineOperation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace TurbineOperation +} // namespace Events +} // namespace PumpConfigurationAndControl +namespace Thermostat { +namespace Structs { +namespace ThermostatScheduleTransition { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneOxideConcentrationMeasurement::Id; } + kTransitionTime = 0, + kHeatSetpoint = 1, + kCoolSetpoint = 2, }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneOxideConcentrationMeasurement::Id; } +public: + uint16_t transitionTime = static_cast(0); + DataModel::Nullable heatSetpoint; + DataModel::Nullable coolSetpoint; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace ClusterRevision -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::EthyleneOxideConcentrationMeasurement::Id; } +using DecodableType = Type; + +} // namespace ThermostatScheduleTransition +} // namespace Structs + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace SetpointRaiseLower { +struct Type; +struct DecodableType; +} // namespace SetpointRaiseLower + +namespace GetWeeklyScheduleResponse { +struct Type; +struct DecodableType; +} // namespace GetWeeklyScheduleResponse + +namespace SetWeeklySchedule { +struct Type; +struct DecodableType; +} // namespace SetWeeklySchedule - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +namespace GetWeeklySchedule { +struct Type; +struct DecodableType; +} // namespace GetWeeklySchedule - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace EthyleneOxideConcentrationMeasurement -namespace HydrogenConcentrationMeasurement { +namespace ClearWeeklySchedule { +struct Type; +struct DecodableType; +} // namespace ClearWeeklySchedule -namespace Attributes { +} // namespace Commands -namespace MeasuredValue { -struct TypeInfo +namespace Commands { +namespace SetpointRaiseLower { +enum class Fields { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; - - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kMode = 0, + kAmount = 1, }; -} // namespace MeasuredValue -namespace MinMeasuredValue { -struct TypeInfo -{ - using Type = float; - using DecodableType = float; - using DecodableArgType = float; - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { -struct TypeInfo +struct Type { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SetpointRaiseLower::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MaxMeasuredValue -namespace Tolerance { -struct TypeInfo -{ - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + SetpointAdjustMode mode = static_cast(0); + int8_t amount = static_cast(0); - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenConcentrationMeasurement::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenConcentrationMeasurement::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenConcentrationMeasurement::Id; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenConcentrationMeasurement::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::SetpointRaiseLower::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + + SetpointAdjustMode mode = static_cast(0); + int8_t amount = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +}; // namespace SetpointRaiseLower +namespace GetWeeklyScheduleResponse { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenConcentrationMeasurement::Id; } + kNumberOfTransitionsForSequence = 0, + kDayOfWeekForSequence = 1, + kModeForSequence = 2, + kTransitions = 3, }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenConcentrationMeasurement::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::GetWeeklyScheduleResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + uint8_t numberOfTransitionsForSequence = static_cast(0); + chip::BitMask dayOfWeekForSequence = static_cast>(0); + chip::BitMask modeForSequence = static_cast>(0); + DataModel::List transitions; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace HydrogenConcentrationMeasurement -namespace HydrogenSulphideConcentrationMeasurement { + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -namespace Attributes { + using ResponseType = DataModel::NullObjectType; -namespace MeasuredValue { -struct TypeInfo + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr CommandId GetCommandId() { return Commands::GetWeeklyScheduleResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenSulphideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t numberOfTransitionsForSequence = static_cast(0); + chip::BitMask dayOfWeekForSequence = static_cast>(0); + chip::BitMask modeForSequence = static_cast>(0); + DataModel::DecodableList transitions; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace MeasuredValue -namespace MinMeasuredValue { -struct TypeInfo +}; // namespace GetWeeklyScheduleResponse +namespace SetWeeklySchedule { +enum class Fields { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; - - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenSulphideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kNumberOfTransitionsForSequence = 0, + kDayOfWeekForSequence = 1, + kModeForSequence = 2, + kTransitions = 3, }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { -struct TypeInfo + +struct Type { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SetWeeklySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenSulphideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t numberOfTransitionsForSequence = static_cast(0); + chip::BitMask dayOfWeekForSequence = static_cast>(0); + chip::BitMask modeForSequence = static_cast>(0); + DataModel::List transitions; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { -struct TypeInfo + +struct DecodableType { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr CommandId GetCommandId() { return Commands::SetWeeklySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenSulphideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t numberOfTransitionsForSequence = static_cast(0); + chip::BitMask dayOfWeekForSequence = static_cast>(0); + chip::BitMask modeForSequence = static_cast>(0); + DataModel::DecodableList transitions; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +}; // namespace SetWeeklySchedule +namespace GetWeeklySchedule { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenSulphideConcentrationMeasurement::Id; } + kDaysToReturn = 0, + kModeToReturn = 1, }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenSulphideConcentrationMeasurement::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::GetWeeklySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + + chip::BitMask daysToReturn = static_cast>(0); + chip::BitMask modeToReturn = static_cast>(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::Thermostat::Commands::GetWeeklyScheduleResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenSulphideConcentrationMeasurement::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::GetWeeklySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + + chip::BitMask daysToReturn = static_cast>(0); + chip::BitMask modeToReturn = static_cast>(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +}; // namespace GetWeeklySchedule +namespace ClearWeeklySchedule { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenSulphideConcentrationMeasurement::Id; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenSulphideConcentrationMeasurement::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ClearWeeklySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace ClusterRevision -struct TypeInfo +struct DecodableType { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::HydrogenSulphideConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +public: + static constexpr CommandId GetCommandId() { return Commands::ClearWeeklySchedule::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Attributes -} // namespace HydrogenSulphideConcentrationMeasurement -namespace NitricOxideConcentrationMeasurement { +}; // namespace ClearWeeklySchedule +} // namespace Commands namespace Attributes { -namespace MeasuredValue { +namespace LocalTemperature { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::NitricOxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LocalTemperature::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace LocalTemperature +namespace OutdoorTemperature { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::NitricOxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OutdoorTemperature::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace OutdoorTemperature +namespace Occupancy { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::NitricOxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Occupancy::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace Occupancy +namespace AbsMinHeatSetpointLimit { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = int16_t; + using DecodableType = int16_t; + using DecodableArgType = int16_t; - static constexpr ClusterId GetClusterId() { return Clusters::NitricOxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::AbsMinHeatSetpointLimit::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::NitricOxideConcentrationMeasurement::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::NitricOxideConcentrationMeasurement::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::NitricOxideConcentrationMeasurement::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::NitricOxideConcentrationMeasurement::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::NitricOxideConcentrationMeasurement::Id; } -}; -} // namespace ClusterRevision - +} // namespace AbsMinHeatSetpointLimit +namespace AbsMaxHeatSetpointLimit { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::NitricOxideConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = int16_t; + using DecodableType = int16_t; + using DecodableArgType = int16_t; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::AbsMaxHeatSetpointLimit::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace NitricOxideConcentrationMeasurement -namespace NitrogenDioxideConcentrationMeasurement { - -namespace Attributes { - -namespace MeasuredValue { +} // namespace AbsMaxHeatSetpointLimit +namespace AbsMinCoolSetpointLimit { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = int16_t; + using DecodableType = int16_t; + using DecodableArgType = int16_t; - static constexpr ClusterId GetClusterId() { return Clusters::NitrogenDioxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::AbsMinCoolSetpointLimit::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace AbsMinCoolSetpointLimit +namespace AbsMaxCoolSetpointLimit { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = int16_t; + using DecodableType = int16_t; + using DecodableArgType = int16_t; - static constexpr ClusterId GetClusterId() { return Clusters::NitrogenDioxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::AbsMaxCoolSetpointLimit::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace AbsMaxCoolSetpointLimit +namespace PICoolingDemand { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::NitrogenDioxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PICoolingDemand::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace PICoolingDemand +namespace PIHeatingDemand { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::NitrogenDioxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PIHeatingDemand::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::NitrogenDioxideConcentrationMeasurement::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::NitrogenDioxideConcentrationMeasurement::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::NitrogenDioxideConcentrationMeasurement::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::NitrogenDioxideConcentrationMeasurement::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace PIHeatingDemand +namespace HVACSystemTypeConfiguration { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::NitrogenDioxideConcentrationMeasurement::Id; } -}; -} // namespace ClusterRevision + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::HVACSystemTypeConfiguration::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace HVACSystemTypeConfiguration +namespace LocalTemperatureCalibration { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::NitrogenDioxideConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = int8_t; + using DecodableType = int8_t; + using DecodableArgType = int8_t; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LocalTemperatureCalibration::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace NitrogenDioxideConcentrationMeasurement -namespace OxygenConcentrationMeasurement { - -namespace Attributes { - -namespace MeasuredValue { +} // namespace LocalTemperatureCalibration +namespace OccupiedCoolingSetpoint { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = int16_t; + using DecodableType = int16_t; + using DecodableArgType = int16_t; - static constexpr ClusterId GetClusterId() { return Clusters::OxygenConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OccupiedCoolingSetpoint::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace OccupiedCoolingSetpoint +namespace OccupiedHeatingSetpoint { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = int16_t; + using DecodableType = int16_t; + using DecodableArgType = int16_t; - static constexpr ClusterId GetClusterId() { return Clusters::OxygenConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OccupiedHeatingSetpoint::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace OccupiedHeatingSetpoint +namespace UnoccupiedCoolingSetpoint { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = int16_t; + using DecodableType = int16_t; + using DecodableArgType = int16_t; - static constexpr ClusterId GetClusterId() { return Clusters::OxygenConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::UnoccupiedCoolingSetpoint::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace UnoccupiedCoolingSetpoint +namespace UnoccupiedHeatingSetpoint { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = int16_t; + using DecodableType = int16_t; + using DecodableArgType = int16_t; - static constexpr ClusterId GetClusterId() { return Clusters::OxygenConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::UnoccupiedHeatingSetpoint::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::OxygenConcentrationMeasurement::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::OxygenConcentrationMeasurement::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::OxygenConcentrationMeasurement::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace UnoccupiedHeatingSetpoint +namespace MinHeatSetpointLimit { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OxygenConcentrationMeasurement::Id; } + using Type = int16_t; + using DecodableType = int16_t; + using DecodableArgType = int16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinHeatSetpointLimit::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace MinHeatSetpointLimit +namespace MaxHeatSetpointLimit { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OxygenConcentrationMeasurement::Id; } -}; -} // namespace ClusterRevision + using Type = int16_t; + using DecodableType = int16_t; + using DecodableArgType = int16_t; + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxHeatSetpointLimit::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MaxHeatSetpointLimit +namespace MinCoolSetpointLimit { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::OxygenConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = int16_t; + using DecodableType = int16_t; + using DecodableArgType = int16_t; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinCoolSetpointLimit::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace OxygenConcentrationMeasurement -namespace OzoneConcentrationMeasurement { - -namespace Attributes { - -namespace MeasuredValue { +} // namespace MinCoolSetpointLimit +namespace MaxCoolSetpointLimit { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = int16_t; + using DecodableType = int16_t; + using DecodableArgType = int16_t; - static constexpr ClusterId GetClusterId() { return Clusters::OzoneConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxCoolSetpointLimit::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace MaxCoolSetpointLimit +namespace MinSetpointDeadBand { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = int8_t; + using DecodableType = int8_t; + using DecodableArgType = int8_t; - static constexpr ClusterId GetClusterId() { return Clusters::OzoneConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinSetpointDeadBand::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace MinSetpointDeadBand +namespace RemoteSensing { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::OzoneConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RemoteSensing::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace RemoteSensing +namespace ControlSequenceOfOperation { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::app::Clusters::Thermostat::ThermostatControlSequence; + using DecodableType = chip::app::Clusters::Thermostat::ThermostatControlSequence; + using DecodableArgType = chip::app::Clusters::Thermostat::ThermostatControlSequence; - static constexpr ClusterId GetClusterId() { return Clusters::OzoneConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ControlSequenceOfOperation::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +} // namespace ControlSequenceOfOperation +namespace SystemMode { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OzoneConcentrationMeasurement::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SystemMode::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +} // namespace SystemMode +namespace ThermostatRunningMode { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OzoneConcentrationMeasurement::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ThermostatRunningMode::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +} // namespace ThermostatRunningMode +namespace StartOfWeek { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OzoneConcentrationMeasurement::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::StartOfWeek::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace StartOfWeek +namespace NumberOfWeeklyTransitions { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OzoneConcentrationMeasurement::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfWeeklyTransitions::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace NumberOfWeeklyTransitions +namespace NumberOfDailyTransitions { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::OzoneConcentrationMeasurement::Id; } -}; -} // namespace ClusterRevision + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfDailyTransitions::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace NumberOfDailyTransitions +namespace TemperatureSetpointHold { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::OzoneConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TemperatureSetpointHold::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace OzoneConcentrationMeasurement -namespace SulfurDioxideConcentrationMeasurement { - -namespace Attributes { - -namespace MeasuredValue { +} // namespace TemperatureSetpointHold +namespace TemperatureSetpointHoldDuration { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::SulfurDioxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TemperatureSetpointHoldDuration::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace TemperatureSetpointHoldDuration +namespace ThermostatProgrammingOperationMode { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::SulfurDioxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ThermostatProgrammingOperationMode::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace ThermostatProgrammingOperationMode +namespace ThermostatRunningState { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::SulfurDioxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ThermostatRunningState::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace ThermostatRunningState +namespace SetpointChangeSource { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::SulfurDioxideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SetpointChangeSource::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::SulfurDioxideConcentrationMeasurement::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::SulfurDioxideConcentrationMeasurement::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::SulfurDioxideConcentrationMeasurement::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace SetpointChangeSource +namespace SetpointChangeAmount { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::SulfurDioxideConcentrationMeasurement::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SetpointChangeAmount::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace SetpointChangeAmount +namespace SetpointChangeSourceTimestamp { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::SulfurDioxideConcentrationMeasurement::Id; } -}; -} // namespace ClusterRevision + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SetpointChangeSourceTimestamp::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace SetpointChangeSourceTimestamp +namespace OccupiedSetback { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::SulfurDioxideConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OccupiedSetback::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace SulfurDioxideConcentrationMeasurement -namespace DissolvedOxygenConcentrationMeasurement { - -namespace Attributes { - -namespace MeasuredValue { +} // namespace OccupiedSetback +namespace OccupiedSetbackMin { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::DissolvedOxygenConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OccupiedSetbackMin::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace OccupiedSetbackMin +namespace OccupiedSetbackMax { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::DissolvedOxygenConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OccupiedSetbackMax::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace OccupiedSetbackMax +namespace UnoccupiedSetback { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::DissolvedOxygenConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::UnoccupiedSetback::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace UnoccupiedSetback +namespace UnoccupiedSetbackMin { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::DissolvedOxygenConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::UnoccupiedSetbackMin::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +} // namespace UnoccupiedSetbackMin +namespace UnoccupiedSetbackMax { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::DissolvedOxygenConcentrationMeasurement::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::UnoccupiedSetbackMax::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +} // namespace UnoccupiedSetbackMax +namespace EmergencyHeatDelta { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::DissolvedOxygenConcentrationMeasurement::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::EmergencyHeatDelta::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +} // namespace EmergencyHeatDelta +namespace ACType { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::DissolvedOxygenConcentrationMeasurement::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ACType::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace ACType +namespace ACCapacity { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::DissolvedOxygenConcentrationMeasurement::Id; } + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ACCapacity::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace ACCapacity +namespace ACRefrigerantType { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::DissolvedOxygenConcentrationMeasurement::Id; } -}; -} // namespace ClusterRevision + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ACRefrigerantType::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ACRefrigerantType +namespace ACCompressorType { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::DissolvedOxygenConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ACCompressorType::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace DissolvedOxygenConcentrationMeasurement -namespace BromateConcentrationMeasurement { - -namespace Attributes { - -namespace MeasuredValue { +} // namespace ACCompressorType +namespace ACErrorCode { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::BromateConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ACErrorCode::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace ACErrorCode +namespace ACLouverPosition { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::BromateConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ACLouverPosition::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace ACLouverPosition +namespace ACCoilTemperature { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::BromateConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ACCoilTemperature::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace ACCoilTemperature +namespace ACCapacityformat { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::BromateConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ACCapacityformat::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance +} // namespace ACCapacityformat namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BromateConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BromateConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BromateConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BromateConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BromateConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } }; } // namespace ClusterRevision @@ -24916,14 +17001,61 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::BromateConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); + Attributes::LocalTemperature::TypeInfo::DecodableType localTemperature; + Attributes::OutdoorTemperature::TypeInfo::DecodableType outdoorTemperature; + Attributes::Occupancy::TypeInfo::DecodableType occupancy = static_cast(0); + Attributes::AbsMinHeatSetpointLimit::TypeInfo::DecodableType absMinHeatSetpointLimit = static_cast(0); + Attributes::AbsMaxHeatSetpointLimit::TypeInfo::DecodableType absMaxHeatSetpointLimit = static_cast(0); + Attributes::AbsMinCoolSetpointLimit::TypeInfo::DecodableType absMinCoolSetpointLimit = static_cast(0); + Attributes::AbsMaxCoolSetpointLimit::TypeInfo::DecodableType absMaxCoolSetpointLimit = static_cast(0); + Attributes::PICoolingDemand::TypeInfo::DecodableType PICoolingDemand = static_cast(0); + Attributes::PIHeatingDemand::TypeInfo::DecodableType PIHeatingDemand = static_cast(0); + Attributes::HVACSystemTypeConfiguration::TypeInfo::DecodableType HVACSystemTypeConfiguration = static_cast(0); + Attributes::LocalTemperatureCalibration::TypeInfo::DecodableType localTemperatureCalibration = static_cast(0); + Attributes::OccupiedCoolingSetpoint::TypeInfo::DecodableType occupiedCoolingSetpoint = static_cast(0); + Attributes::OccupiedHeatingSetpoint::TypeInfo::DecodableType occupiedHeatingSetpoint = static_cast(0); + Attributes::UnoccupiedCoolingSetpoint::TypeInfo::DecodableType unoccupiedCoolingSetpoint = static_cast(0); + Attributes::UnoccupiedHeatingSetpoint::TypeInfo::DecodableType unoccupiedHeatingSetpoint = static_cast(0); + Attributes::MinHeatSetpointLimit::TypeInfo::DecodableType minHeatSetpointLimit = static_cast(0); + Attributes::MaxHeatSetpointLimit::TypeInfo::DecodableType maxHeatSetpointLimit = static_cast(0); + Attributes::MinCoolSetpointLimit::TypeInfo::DecodableType minCoolSetpointLimit = static_cast(0); + Attributes::MaxCoolSetpointLimit::TypeInfo::DecodableType maxCoolSetpointLimit = static_cast(0); + Attributes::MinSetpointDeadBand::TypeInfo::DecodableType minSetpointDeadBand = static_cast(0); + Attributes::RemoteSensing::TypeInfo::DecodableType remoteSensing = static_cast(0); + Attributes::ControlSequenceOfOperation::TypeInfo::DecodableType controlSequenceOfOperation = + static_cast(0); + Attributes::SystemMode::TypeInfo::DecodableType systemMode = static_cast(0); + Attributes::ThermostatRunningMode::TypeInfo::DecodableType thermostatRunningMode = static_cast(0); + Attributes::StartOfWeek::TypeInfo::DecodableType startOfWeek = static_cast(0); + Attributes::NumberOfWeeklyTransitions::TypeInfo::DecodableType numberOfWeeklyTransitions = static_cast(0); + Attributes::NumberOfDailyTransitions::TypeInfo::DecodableType numberOfDailyTransitions = static_cast(0); + Attributes::TemperatureSetpointHold::TypeInfo::DecodableType temperatureSetpointHold = static_cast(0); + Attributes::TemperatureSetpointHoldDuration::TypeInfo::DecodableType temperatureSetpointHoldDuration; + Attributes::ThermostatProgrammingOperationMode::TypeInfo::DecodableType thermostatProgrammingOperationMode = + static_cast(0); + Attributes::ThermostatRunningState::TypeInfo::DecodableType thermostatRunningState = static_cast(0); + Attributes::SetpointChangeSource::TypeInfo::DecodableType setpointChangeSource = static_cast(0); + Attributes::SetpointChangeAmount::TypeInfo::DecodableType setpointChangeAmount; + Attributes::SetpointChangeSourceTimestamp::TypeInfo::DecodableType setpointChangeSourceTimestamp = static_cast(0); + Attributes::OccupiedSetback::TypeInfo::DecodableType occupiedSetback; + Attributes::OccupiedSetbackMin::TypeInfo::DecodableType occupiedSetbackMin; + Attributes::OccupiedSetbackMax::TypeInfo::DecodableType occupiedSetbackMax; + Attributes::UnoccupiedSetback::TypeInfo::DecodableType unoccupiedSetback; + Attributes::UnoccupiedSetbackMin::TypeInfo::DecodableType unoccupiedSetbackMin; + Attributes::UnoccupiedSetbackMax::TypeInfo::DecodableType unoccupiedSetbackMax; + Attributes::EmergencyHeatDelta::TypeInfo::DecodableType emergencyHeatDelta = static_cast(0); + Attributes::ACType::TypeInfo::DecodableType ACType = static_cast(0); + Attributes::ACCapacity::TypeInfo::DecodableType ACCapacity = static_cast(0); + Attributes::ACRefrigerantType::TypeInfo::DecodableType ACRefrigerantType = static_cast(0); + Attributes::ACCompressorType::TypeInfo::DecodableType ACCompressorType = static_cast(0); + Attributes::ACErrorCode::TypeInfo::DecodableType ACErrorCode = static_cast(0); + Attributes::ACLouverPosition::TypeInfo::DecodableType ACLouverPosition = static_cast(0); + Attributes::ACCoilTemperature::TypeInfo::DecodableType ACCoilTemperature; + Attributes::ACCapacityformat::TypeInfo::DecodableType ACCapacityformat = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -24932,191 +17064,171 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace BromateConcentrationMeasurement -namespace ChloraminesConcentrationMeasurement { +} // namespace Thermostat +namespace FanControl { namespace Attributes { -namespace MeasuredValue { +namespace FanMode { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::app::Clusters::FanControl::FanModeType; + using DecodableType = chip::app::Clusters::FanControl::FanModeType; + using DecodableArgType = chip::app::Clusters::FanControl::FanModeType; - static constexpr ClusterId GetClusterId() { return Clusters::ChloraminesConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FanMode::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace FanMode +namespace FanModeSequence { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::app::Clusters::FanControl::FanModeSequenceType; + using DecodableType = chip::app::Clusters::FanControl::FanModeSequenceType; + using DecodableArgType = chip::app::Clusters::FanControl::FanModeSequenceType; - static constexpr ClusterId GetClusterId() { return Clusters::ChloraminesConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FanModeSequence::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace FanModeSequence +namespace PercentSetting { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::ChloraminesConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PercentSetting::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace PercentSetting +namespace PercentCurrent { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::ChloraminesConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PercentCurrent::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ChloraminesConcentrationMeasurement::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ChloraminesConcentrationMeasurement::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ChloraminesConcentrationMeasurement::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace PercentCurrent +namespace SpeedMax { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ChloraminesConcentrationMeasurement::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SpeedMax::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace SpeedMax +namespace SpeedSetting { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ChloraminesConcentrationMeasurement::Id; } -}; -} // namespace ClusterRevision + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SpeedSetting::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace SpeedSetting +namespace SpeedCurrent { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::ChloraminesConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SpeedCurrent::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace ChloraminesConcentrationMeasurement -namespace ChlorineConcentrationMeasurement { - -namespace Attributes { - -namespace MeasuredValue { +} // namespace SpeedCurrent +namespace RockSupport { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::ChlorineConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RockSupport::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace RockSupport +namespace RockSetting { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::ChlorineConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RockSetting::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace RockSetting +namespace WindSupport { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::ChlorineConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::WindSupport::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace WindSupport +namespace WindSetting { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::ChlorineConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::WindSetting::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance +} // namespace WindSetting namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ChlorineConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ChlorineConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ChlorineConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ChlorineConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ChlorineConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } }; } // namespace ClusterRevision @@ -25124,14 +17236,22 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::ChlorineConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); + Attributes::FanMode::TypeInfo::DecodableType fanMode = static_cast(0); + Attributes::FanModeSequence::TypeInfo::DecodableType fanModeSequence = + static_cast(0); + Attributes::PercentSetting::TypeInfo::DecodableType percentSetting; + Attributes::PercentCurrent::TypeInfo::DecodableType percentCurrent = static_cast(0); + Attributes::SpeedMax::TypeInfo::DecodableType speedMax = static_cast(0); + Attributes::SpeedSetting::TypeInfo::DecodableType speedSetting; + Attributes::SpeedCurrent::TypeInfo::DecodableType speedCurrent = static_cast(0); + Attributes::RockSupport::TypeInfo::DecodableType rockSupport = static_cast(0); + Attributes::RockSetting::TypeInfo::DecodableType rockSetting = static_cast(0); + Attributes::WindSupport::TypeInfo::DecodableType windSupport = static_cast(0); + Attributes::WindSetting::TypeInfo::DecodableType windSetting = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -25140,87 +17260,75 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace ChlorineConcentrationMeasurement -namespace FecalColiformAndEColiConcentrationMeasurement { +} // namespace FanControl +namespace ThermostatUserInterfaceConfiguration { namespace Attributes { -namespace MeasuredValue { -struct TypeInfo -{ - using Type = float; - using DecodableType = float; - using DecodableArgType = float; - - static constexpr ClusterId GetClusterId() { return Clusters::FecalColiformAndEColiConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MeasuredValue -namespace MinMeasuredValue { +namespace TemperatureDisplayMode { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::FecalColiformAndEColiConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TemperatureDisplayMode::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace TemperatureDisplayMode +namespace KeypadLockout { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::FecalColiformAndEColiConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::KeypadLockout::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace KeypadLockout +namespace ScheduleProgrammingVisibility { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::FecalColiformAndEColiConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ScheduleProgrammingVisibility::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance +} // namespace ScheduleProgrammingVisibility namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::FecalColiformAndEColiConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::FecalColiformAndEColiConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::FecalColiformAndEColiConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::FecalColiformAndEColiConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::FecalColiformAndEColiConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } }; } // namespace ClusterRevision @@ -25228,14 +17336,13 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::FecalColiformAndEColiConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); + Attributes::TemperatureDisplayMode::TypeInfo::DecodableType temperatureDisplayMode = static_cast(0); + Attributes::KeypadLockout::TypeInfo::DecodableType keypadLockout = static_cast(0); + Attributes::ScheduleProgrammingVisibility::TypeInfo::DecodableType scheduleProgrammingVisibility = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -25244,1820 +17351,1866 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace FecalColiformAndEColiConcentrationMeasurement -namespace FluorideConcentrationMeasurement { +} // namespace ThermostatUserInterfaceConfiguration +namespace ColorControl { -namespace Attributes { +namespace Commands { +// Forward-declarations so we can reference these later. -namespace MeasuredValue { -struct TypeInfo -{ - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +namespace MoveToHue { +struct Type; +struct DecodableType; +} // namespace MoveToHue - static constexpr ClusterId GetClusterId() { return Clusters::FluorideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MeasuredValue -namespace MinMeasuredValue { -struct TypeInfo -{ - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +namespace MoveHue { +struct Type; +struct DecodableType; +} // namespace MoveHue - static constexpr ClusterId GetClusterId() { return Clusters::FluorideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { -struct TypeInfo -{ - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +namespace StepHue { +struct Type; +struct DecodableType; +} // namespace StepHue - static constexpr ClusterId GetClusterId() { return Clusters::FluorideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MaxMeasuredValue -namespace Tolerance { -struct TypeInfo -{ - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +namespace MoveToSaturation { +struct Type; +struct DecodableType; +} // namespace MoveToSaturation - static constexpr ClusterId GetClusterId() { return Clusters::FluorideConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::FluorideConcentrationMeasurement::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::FluorideConcentrationMeasurement::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::FluorideConcentrationMeasurement::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::FluorideConcentrationMeasurement::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +namespace MoveSaturation { +struct Type; +struct DecodableType; +} // namespace MoveSaturation + +namespace StepSaturation { +struct Type; +struct DecodableType; +} // namespace StepSaturation + +namespace MoveToHueAndSaturation { +struct Type; +struct DecodableType; +} // namespace MoveToHueAndSaturation + +namespace MoveToColor { +struct Type; +struct DecodableType; +} // namespace MoveToColor + +namespace MoveColor { +struct Type; +struct DecodableType; +} // namespace MoveColor + +namespace StepColor { +struct Type; +struct DecodableType; +} // namespace StepColor + +namespace MoveToColorTemperature { +struct Type; +struct DecodableType; +} // namespace MoveToColorTemperature + +namespace EnhancedMoveToHue { +struct Type; +struct DecodableType; +} // namespace EnhancedMoveToHue + +namespace EnhancedMoveHue { +struct Type; +struct DecodableType; +} // namespace EnhancedMoveHue + +namespace EnhancedStepHue { +struct Type; +struct DecodableType; +} // namespace EnhancedStepHue + +namespace EnhancedMoveToHueAndSaturation { +struct Type; +struct DecodableType; +} // namespace EnhancedMoveToHueAndSaturation + +namespace ColorLoopSet { +struct Type; +struct DecodableType; +} // namespace ColorLoopSet + +namespace StopMoveStep { +struct Type; +struct DecodableType; +} // namespace StopMoveStep + +namespace MoveColorTemperature { +struct Type; +struct DecodableType; +} // namespace MoveColorTemperature + +namespace StepColorTemperature { +struct Type; +struct DecodableType; +} // namespace StepColorTemperature + +} // namespace Commands + +namespace Commands { +namespace MoveToHue { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::FluorideConcentrationMeasurement::Id; } + kHue = 0, + kDirection = 1, + kTransitionTime = 2, + kOptionsMask = 3, + kOptionsOverride = 4, }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::FluorideConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::MoveToHue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace FluorideConcentrationMeasurement -namespace HaloaceticAcidsConcentrationMeasurement { + uint8_t hue = static_cast(0); + HueDirection direction = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); -namespace Attributes { + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -namespace MeasuredValue { -struct TypeInfo -{ - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using ResponseType = DataModel::NullObjectType; - static constexpr ClusterId GetClusterId() { return Clusters::HaloaceticAcidsConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { -struct TypeInfo + +struct DecodableType { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr CommandId GetCommandId() { return Commands::MoveToHue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::HaloaceticAcidsConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t hue = static_cast(0); + HueDirection direction = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { -struct TypeInfo +}; // namespace MoveToHue +namespace MoveHue { +enum class Fields { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; - - static constexpr ClusterId GetClusterId() { return Clusters::HaloaceticAcidsConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kMoveMode = 0, + kRate = 1, + kOptionsMask = 2, + kOptionsOverride = 3, }; -} // namespace MaxMeasuredValue -namespace Tolerance { -struct TypeInfo + +struct Type { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::MoveHue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::HaloaceticAcidsConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + HueMoveMode moveMode = static_cast(0); + uint8_t rate = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::HaloaceticAcidsConcentrationMeasurement::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::MoveHue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + HueMoveMode moveMode = static_cast(0); + uint8_t rate = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +}; // namespace MoveHue +namespace StepHue { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::HaloaceticAcidsConcentrationMeasurement::Id; } + kStepMode = 0, + kStepSize = 1, + kTransitionTime = 2, + kOptionsMask = 3, + kOptionsOverride = 4, }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::HaloaceticAcidsConcentrationMeasurement::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::StepHue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + HueStepMode stepMode = static_cast(0); + uint8_t stepSize = static_cast(0); + uint8_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::HaloaceticAcidsConcentrationMeasurement::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::StepHue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + HueStepMode stepMode = static_cast(0); + uint8_t stepSize = static_cast(0); + uint8_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +}; // namespace StepHue +namespace MoveToSaturation { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::HaloaceticAcidsConcentrationMeasurement::Id; } + kSaturation = 0, + kTransitionTime = 1, + kOptionsMask = 2, + kOptionsOverride = 3, }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::HaloaceticAcidsConcentrationMeasurement::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::MoveToSaturation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + uint8_t saturation = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace HaloaceticAcidsConcentrationMeasurement -namespace TotalTrihalomethanesConcentrationMeasurement { + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -namespace Attributes { + using ResponseType = DataModel::NullObjectType; -namespace MeasuredValue { -struct TypeInfo + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr CommandId GetCommandId() { return Commands::MoveToSaturation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::TotalTrihalomethanesConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t saturation = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace MeasuredValue -namespace MinMeasuredValue { -struct TypeInfo +}; // namespace MoveToSaturation +namespace MoveSaturation { +enum class Fields { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; - - static constexpr ClusterId GetClusterId() { return Clusters::TotalTrihalomethanesConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kMoveMode = 0, + kRate = 1, + kOptionsMask = 2, + kOptionsOverride = 3, }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { -struct TypeInfo + +struct Type { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::MoveSaturation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + SaturationMoveMode moveMode = static_cast(0); + uint8_t rate = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; - static constexpr ClusterId GetClusterId() { return Clusters::TotalTrihalomethanesConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { -struct TypeInfo -{ - using Type = float; - using DecodableType = float; - using DecodableArgType = float; - static constexpr ClusterId GetClusterId() { return Clusters::TotalTrihalomethanesConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::TotalTrihalomethanesConcentrationMeasurement::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::MoveSaturation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + SaturationMoveMode moveMode = static_cast(0); + uint8_t rate = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +}; // namespace MoveSaturation +namespace StepSaturation { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::TotalTrihalomethanesConcentrationMeasurement::Id; } + kStepMode = 0, + kStepSize = 1, + kTransitionTime = 2, + kOptionsMask = 3, + kOptionsOverride = 4, }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::TotalTrihalomethanesConcentrationMeasurement::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::StepSaturation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + SaturationStepMode stepMode = static_cast(0); + uint8_t stepSize = static_cast(0); + uint8_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::TotalTrihalomethanesConcentrationMeasurement::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::StepSaturation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + SaturationStepMode stepMode = static_cast(0); + uint8_t stepSize = static_cast(0); + uint8_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +}; // namespace StepSaturation +namespace MoveToHueAndSaturation { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::TotalTrihalomethanesConcentrationMeasurement::Id; } + kHue = 0, + kSaturation = 1, + kTransitionTime = 2, + kOptionsMask = 3, + kOptionsOverride = 4, }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::TotalTrihalomethanesConcentrationMeasurement::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::MoveToHueAndSaturation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + uint8_t hue = static_cast(0); + uint8_t saturation = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace TotalTrihalomethanesConcentrationMeasurement -namespace TotalColiformBacteriaConcentrationMeasurement { + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -namespace Attributes { + using ResponseType = DataModel::NullObjectType; -namespace MeasuredValue { -struct TypeInfo + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr CommandId GetCommandId() { return Commands::MoveToHueAndSaturation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::TotalColiformBacteriaConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t hue = static_cast(0); + uint8_t saturation = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace MeasuredValue -namespace MinMeasuredValue { -struct TypeInfo +}; // namespace MoveToHueAndSaturation +namespace MoveToColor { +enum class Fields { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; - - static constexpr ClusterId GetClusterId() { return Clusters::TotalColiformBacteriaConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kColorX = 0, + kColorY = 1, + kTransitionTime = 2, + kOptionsMask = 3, + kOptionsOverride = 4, }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { -struct TypeInfo + +struct Type { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::MoveToColor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::TotalColiformBacteriaConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint16_t colorX = static_cast(0); + uint16_t colorY = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { -struct TypeInfo + +struct DecodableType { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr CommandId GetCommandId() { return Commands::MoveToColor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::TotalColiformBacteriaConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint16_t colorX = static_cast(0); + uint16_t colorY = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +}; // namespace MoveToColor +namespace MoveColor { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::TotalColiformBacteriaConcentrationMeasurement::Id; } + kRateX = 0, + kRateY = 1, + kOptionsMask = 2, + kOptionsOverride = 3, }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::TotalColiformBacteriaConcentrationMeasurement::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::MoveColor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + int16_t rateX = static_cast(0); + int16_t rateY = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::TotalColiformBacteriaConcentrationMeasurement::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::MoveColor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + int16_t rateX = static_cast(0); + int16_t rateY = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +}; // namespace MoveColor +namespace StepColor { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::TotalColiformBacteriaConcentrationMeasurement::Id; } + kStepX = 0, + kStepY = 1, + kTransitionTime = 2, + kOptionsMask = 3, + kOptionsOverride = 4, }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::TotalColiformBacteriaConcentrationMeasurement::Id; } -}; -} // namespace ClusterRevision +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::StepColor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::TotalColiformBacteriaConcentrationMeasurement::Id; } + int16_t stepX = static_cast(0); + int16_t stepY = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace TotalColiformBacteriaConcentrationMeasurement -namespace TurbidityConcentrationMeasurement { + using ResponseType = DataModel::NullObjectType; -namespace Attributes { + static constexpr bool MustUseTimedInvoke() { return false; } +}; -namespace MeasuredValue { -struct TypeInfo +struct DecodableType { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr CommandId GetCommandId() { return Commands::StepColor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::TurbidityConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + int16_t stepX = static_cast(0); + int16_t stepY = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace MeasuredValue -namespace MinMeasuredValue { -struct TypeInfo +}; // namespace StepColor +namespace MoveToColorTemperature { +enum class Fields { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; - - static constexpr ClusterId GetClusterId() { return Clusters::TurbidityConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kColorTemperature = 0, + kTransitionTime = 1, + kOptionsMask = 2, + kOptionsOverride = 3, }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { -struct TypeInfo -{ - using Type = float; - using DecodableType = float; - using DecodableArgType = float; - static constexpr ClusterId GetClusterId() { return Clusters::TurbidityConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MaxMeasuredValue -namespace Tolerance { -struct TypeInfo +struct Type { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::MoveToColorTemperature::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::TurbidityConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint16_t colorTemperature = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::TurbidityConcentrationMeasurement::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::MoveToColorTemperature::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + uint16_t colorTemperature = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +}; // namespace MoveToColorTemperature +namespace EnhancedMoveToHue { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::TurbidityConcentrationMeasurement::Id; } + kEnhancedHue = 0, + kDirection = 1, + kTransitionTime = 2, + kOptionsMask = 3, + kOptionsOverride = 4, }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::TurbidityConcentrationMeasurement::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::EnhancedMoveToHue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + uint16_t enhancedHue = static_cast(0); + HueDirection direction = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::TurbidityConcentrationMeasurement::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::EnhancedMoveToHue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + uint16_t enhancedHue = static_cast(0); + HueDirection direction = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +}; // namespace EnhancedMoveToHue +namespace EnhancedMoveHue { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::TurbidityConcentrationMeasurement::Id; } + kMoveMode = 0, + kRate = 1, + kOptionsMask = 2, + kOptionsOverride = 3, }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::TurbidityConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::EnhancedMoveHue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace TurbidityConcentrationMeasurement -namespace CopperConcentrationMeasurement { + HueMoveMode moveMode = static_cast(0); + uint16_t rate = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); -namespace Attributes { + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -namespace MeasuredValue { -struct TypeInfo -{ - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using ResponseType = DataModel::NullObjectType; - static constexpr ClusterId GetClusterId() { return Clusters::CopperConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { -struct TypeInfo + +struct DecodableType { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr CommandId GetCommandId() { return Commands::EnhancedMoveHue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::CopperConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + HueMoveMode moveMode = static_cast(0); + uint16_t rate = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { -struct TypeInfo +}; // namespace EnhancedMoveHue +namespace EnhancedStepHue { +enum class Fields { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; - - static constexpr ClusterId GetClusterId() { return Clusters::CopperConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kStepMode = 0, + kStepSize = 1, + kTransitionTime = 2, + kOptionsMask = 3, + kOptionsOverride = 4, }; -} // namespace MaxMeasuredValue -namespace Tolerance { -struct TypeInfo + +struct Type { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::EnhancedStepHue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::CopperConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + HueStepMode stepMode = static_cast(0); + uint16_t stepSize = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::CopperConcentrationMeasurement::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::EnhancedStepHue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + HueStepMode stepMode = static_cast(0); + uint16_t stepSize = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +}; // namespace EnhancedStepHue +namespace EnhancedMoveToHueAndSaturation { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::CopperConcentrationMeasurement::Id; } + kEnhancedHue = 0, + kSaturation = 1, + kTransitionTime = 2, + kOptionsMask = 3, + kOptionsOverride = 4, }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::CopperConcentrationMeasurement::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::EnhancedMoveToHueAndSaturation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + uint16_t enhancedHue = static_cast(0); + uint8_t saturation = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::CopperConcentrationMeasurement::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::EnhancedMoveToHueAndSaturation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + uint16_t enhancedHue = static_cast(0); + uint8_t saturation = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +}; // namespace EnhancedMoveToHueAndSaturation +namespace ColorLoopSet { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::CopperConcentrationMeasurement::Id; } + kUpdateFlags = 0, + kAction = 1, + kDirection = 2, + kTime = 3, + kStartHue = 4, + kOptionsMask = 5, + kOptionsOverride = 6, }; -} // namespace ClusterRevision -struct TypeInfo +struct Type { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::CopperConcentrationMeasurement::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ColorLoopSet::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + chip::BitMask updateFlags = static_cast>(0); + ColorLoopAction action = static_cast(0); + ColorLoopDirection direction = static_cast(0); + uint16_t time = static_cast(0); + uint16_t startHue = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace CopperConcentrationMeasurement -namespace LeadConcentrationMeasurement { + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -namespace Attributes { + using ResponseType = DataModel::NullObjectType; -namespace MeasuredValue { -struct TypeInfo + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr CommandId GetCommandId() { return Commands::ColorLoopSet::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LeadConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + chip::BitMask updateFlags = static_cast>(0); + ColorLoopAction action = static_cast(0); + ColorLoopDirection direction = static_cast(0); + uint16_t time = static_cast(0); + uint16_t startHue = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace MeasuredValue -namespace MinMeasuredValue { -struct TypeInfo +}; // namespace ColorLoopSet +namespace StopMoveStep { +enum class Fields { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; - - static constexpr ClusterId GetClusterId() { return Clusters::LeadConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kOptionsMask = 0, + kOptionsOverride = 1, }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { -struct TypeInfo + +struct Type { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::StopMoveStep::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LeadConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { -struct TypeInfo + +struct DecodableType { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; +public: + static constexpr CommandId GetCommandId() { return Commands::StopMoveStep::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LeadConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +}; // namespace StopMoveStep +namespace MoveColorTemperature { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::LeadConcentrationMeasurement::Id; } + kMoveMode = 0, + kRate = 1, + kColorTemperatureMinimumMireds = 2, + kColorTemperatureMaximumMireds = 3, + kOptionsMask = 4, + kOptionsOverride = 5, }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::LeadConcentrationMeasurement::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::MoveColorTemperature::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + HueMoveMode moveMode = static_cast(0); + uint16_t rate = static_cast(0); + uint16_t colorTemperatureMinimumMireds = static_cast(0); + uint16_t colorTemperatureMaximumMireds = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo + +struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::LeadConcentrationMeasurement::Id; } +public: + static constexpr CommandId GetCommandId() { return Commands::MoveColorTemperature::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + HueMoveMode moveMode = static_cast(0); + uint16_t rate = static_cast(0); + uint16_t colorTemperatureMinimumMireds = static_cast(0); + uint16_t colorTemperatureMaximumMireds = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +}; // namespace MoveColorTemperature +namespace StepColorTemperature { +enum class Fields { - static constexpr ClusterId GetClusterId() { return Clusters::LeadConcentrationMeasurement::Id; } + kStepMode = 0, + kStepSize = 1, + kTransitionTime = 2, + kColorTemperatureMinimumMireds = 3, + kColorTemperatureMaximumMireds = 4, + kOptionsMask = 5, + kOptionsOverride = 6, }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo + +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::LeadConcentrationMeasurement::Id; } +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::StepColorTemperature::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + + HueStepMode stepMode = static_cast(0); + uint16_t stepSize = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint16_t colorTemperatureMinimumMireds = static_cast(0); + uint16_t colorTemperatureMaximumMireds = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace ClusterRevision -struct TypeInfo +struct DecodableType { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::LeadConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); +public: + static constexpr CommandId GetCommandId() { return Commands::StepColorTemperature::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + HueStepMode stepMode = static_cast(0); + uint16_t stepSize = static_cast(0); + uint16_t transitionTime = static_cast(0); + uint16_t colorTemperatureMinimumMireds = static_cast(0); + uint16_t colorTemperatureMaximumMireds = static_cast(0); + uint8_t optionsMask = static_cast(0); + uint8_t optionsOverride = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Attributes -} // namespace LeadConcentrationMeasurement -namespace ManganeseConcentrationMeasurement { +}; // namespace StepColorTemperature +} // namespace Commands namespace Attributes { -namespace MeasuredValue { +namespace CurrentHue { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::ManganeseConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentHue::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace CurrentHue +namespace CurrentSaturation { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::ManganeseConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentSaturation::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace CurrentSaturation +namespace RemainingTime { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::ManganeseConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RemainingTime::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace RemainingTime +namespace CurrentX { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::ManganeseConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentX::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ManganeseConcentrationMeasurement::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ManganeseConcentrationMeasurement::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ManganeseConcentrationMeasurement::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ManganeseConcentrationMeasurement::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ManganeseConcentrationMeasurement::Id; } -}; -} // namespace ClusterRevision - +} // namespace CurrentX +namespace CurrentY { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::ManganeseConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentY::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace ManganeseConcentrationMeasurement -namespace SulfateConcentrationMeasurement { - -namespace Attributes { - -namespace MeasuredValue { +} // namespace CurrentY +namespace DriftCompensation { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::SulfateConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::DriftCompensation::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace DriftCompensation +namespace CompensationText { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Clusters::SulfateConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CompensationText::Id; } static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 254; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace CompensationText +namespace ColorTemperature { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::SulfateConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorTemperature::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace ColorTemperature +namespace ColorMode { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::SulfateConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorMode::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::SulfateConcentrationMeasurement::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::SulfateConcentrationMeasurement::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::SulfateConcentrationMeasurement::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace ColorMode +namespace Options { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::SulfateConcentrationMeasurement::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Options::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace Options +namespace NumberOfPrimaries { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::SulfateConcentrationMeasurement::Id; } -}; -} // namespace ClusterRevision + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfPrimaries::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace NumberOfPrimaries +namespace Primary1X { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::SulfateConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary1X::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace SulfateConcentrationMeasurement -namespace BromodichloromethaneConcentrationMeasurement { - -namespace Attributes { - -namespace MeasuredValue { +} // namespace Primary1X +namespace Primary1Y { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::BromodichloromethaneConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary1Y::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace Primary1Y +namespace Primary1Intensity { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::BromodichloromethaneConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary1Intensity::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace Primary1Intensity +namespace Primary2X { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::BromodichloromethaneConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary2X::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace Primary2X +namespace Primary2Y { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::BromodichloromethaneConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary2Y::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BromodichloromethaneConcentrationMeasurement::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BromodichloromethaneConcentrationMeasurement::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::BromodichloromethaneConcentrationMeasurement::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace Primary2Y +namespace Primary2Intensity { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BromodichloromethaneConcentrationMeasurement::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary2Intensity::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace Primary2Intensity +namespace Primary3X { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BromodichloromethaneConcentrationMeasurement::Id; } -}; -} // namespace ClusterRevision + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary3X::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace Primary3X +namespace Primary3Y { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::BromodichloromethaneConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary3Y::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace BromodichloromethaneConcentrationMeasurement -namespace BromoformConcentrationMeasurement { - -namespace Attributes { - -namespace MeasuredValue { +} // namespace Primary3Y +namespace Primary3Intensity { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::BromoformConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary3Intensity::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace Primary3Intensity +namespace Primary4X { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::BromoformConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary4X::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace Primary4X +namespace Primary4Y { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::BromoformConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary4Y::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace Primary4Y +namespace Primary4Intensity { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::BromoformConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary4Intensity::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +} // namespace Primary4Intensity +namespace Primary5X { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BromoformConcentrationMeasurement::Id; } + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary5X::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +} // namespace Primary5X +namespace Primary5Y { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BromoformConcentrationMeasurement::Id; } + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary5Y::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +} // namespace Primary5Y +namespace Primary5Intensity { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BromoformConcentrationMeasurement::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary5Intensity::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace Primary5Intensity +namespace Primary6X { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BromoformConcentrationMeasurement::Id; } + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary6X::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace Primary6X +namespace Primary6Y { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::BromoformConcentrationMeasurement::Id; } -}; -} // namespace ClusterRevision + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary6Y::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace Primary6Y +namespace Primary6Intensity { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::BromoformConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Primary6Intensity::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace BromoformConcentrationMeasurement -namespace ChlorodibromomethaneConcentrationMeasurement { - -namespace Attributes { - -namespace MeasuredValue { +} // namespace Primary6Intensity +namespace WhitePointX { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::ChlorodibromomethaneConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::WhitePointX::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace WhitePointX +namespace WhitePointY { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::ChlorodibromomethaneConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::WhitePointY::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace WhitePointY +namespace ColorPointRX { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::ChlorodibromomethaneConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointRX::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace ColorPointRX +namespace ColorPointRY { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::ChlorodibromomethaneConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointRY::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ChlorodibromomethaneConcentrationMeasurement::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ChlorodibromomethaneConcentrationMeasurement::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ChlorodibromomethaneConcentrationMeasurement::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace ColorPointRY +namespace ColorPointRIntensity { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ChlorodibromomethaneConcentrationMeasurement::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointRIntensity::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace ColorPointRIntensity +namespace ColorPointGX { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ChlorodibromomethaneConcentrationMeasurement::Id; } -}; -} // namespace ClusterRevision + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointGX::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ColorPointGX +namespace ColorPointGY { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::ChlorodibromomethaneConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointGY::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace ChlorodibromomethaneConcentrationMeasurement -namespace ChloroformConcentrationMeasurement { - -namespace Attributes { - -namespace MeasuredValue { +} // namespace ColorPointGY +namespace ColorPointGIntensity { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::ChloroformConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointGIntensity::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace ColorPointGIntensity +namespace ColorPointBX { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::ChloroformConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointBX::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace ColorPointBX +namespace ColorPointBY { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::ChloroformConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointBY::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace ColorPointBY +namespace ColorPointBIntensity { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::ChloroformConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointBIntensity::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +} // namespace ColorPointBIntensity +namespace EnhancedCurrentHue { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ChloroformConcentrationMeasurement::Id; } + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::EnhancedCurrentHue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +} // namespace EnhancedCurrentHue +namespace EnhancedColorMode { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ChloroformConcentrationMeasurement::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::EnhancedColorMode::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +} // namespace EnhancedColorMode +namespace ColorLoopActive { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ChloroformConcentrationMeasurement::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorLoopActive::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +} // namespace ColorLoopActive +namespace ColorLoopDirection { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ChloroformConcentrationMeasurement::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorLoopDirection::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +} // namespace ColorLoopDirection +namespace ColorLoopTime { +struct TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ChloroformConcentrationMeasurement::Id; } -}; -} // namespace ClusterRevision + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorLoopTime::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ColorLoopTime +namespace ColorLoopStartEnhancedHue { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::ChloroformConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorLoopStartEnhancedHue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace ChloroformConcentrationMeasurement -namespace SodiumConcentrationMeasurement { - -namespace Attributes { - -namespace MeasuredValue { +} // namespace ColorLoopStartEnhancedHue +namespace ColorLoopStoredEnhancedHue { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::SodiumConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorLoopStoredEnhancedHue::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MeasuredValue -namespace MinMeasuredValue { +} // namespace ColorLoopStoredEnhancedHue +namespace ColorCapabilities { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::SodiumConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorCapabilities::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MinMeasuredValue -namespace MaxMeasuredValue { +} // namespace ColorCapabilities +namespace ColorTempPhysicalMinMireds { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::SodiumConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorTempPhysicalMinMireds::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace MaxMeasuredValue -namespace Tolerance { +} // namespace ColorTempPhysicalMinMireds +namespace ColorTempPhysicalMaxMireds { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::SodiumConcentrationMeasurement::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ColorTempPhysicalMaxMireds::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Tolerance -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::SodiumConcentrationMeasurement::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::SodiumConcentrationMeasurement::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::SodiumConcentrationMeasurement::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::SodiumConcentrationMeasurement::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::SodiumConcentrationMeasurement::Id; } -}; -} // namespace ClusterRevision - +} // namespace ColorTempPhysicalMaxMireds +namespace CoupleColorTempToLevelMinMireds { struct TypeInfo { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::SodiumConcentrationMeasurement::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue = static_cast(0); - Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue = static_cast(0); - Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue = static_cast(0); - Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CoupleColorTempToLevelMinMireds::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Attributes -} // namespace SodiumConcentrationMeasurement -namespace WakeOnLan { - -namespace Attributes { - -namespace MACAddress { +} // namespace CoupleColorTempToLevelMinMireds +namespace StartUpColorTemperatureMireds { struct TypeInfo { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::WakeOnLan::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MACAddress::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::StartUpColorTemperatureMireds::Id; } static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } }; -} // namespace MACAddress +} // namespace StartUpColorTemperatureMireds namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::WakeOnLan::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::WakeOnLan::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::WakeOnLan::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::WakeOnLan::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::WakeOnLan::Id; } -}; -} // namespace ClusterRevision - -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::WakeOnLan::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - - Attributes::MACAddress::TypeInfo::DecodableType MACAddress; - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; -}; -} // namespace Attributes -} // namespace WakeOnLan -namespace Channel { -namespace Structs { -namespace ChannelInfo { -enum class Fields -{ - kMajorNumber = 0, - kMinorNumber = 1, - kName = 2, - kCallSign = 3, - kAffiliateCallSign = 4, -}; - -struct Type -{ -public: - uint16_t majorNumber = static_cast(0); - uint16_t minorNumber = static_cast(0); - Optional name; - Optional callSign; - Optional affiliateCallSign; - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -using DecodableType = Type; - -} // namespace ChannelInfo -namespace LineupInfo { -enum class Fields -{ - kOperatorName = 0, - kLineupName = 1, - kPostalCode = 2, - kLineupInfoType = 3, -}; - -struct Type -{ -public: - chip::CharSpan operatorName; - Optional lineupName; - Optional postalCode; - LineupInfoTypeEnum lineupInfoType = static_cast(0); - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -using DecodableType = Type; - -} // namespace LineupInfo -} // namespace Structs - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace ChangeChannel { -struct Type; -struct DecodableType; -} // namespace ChangeChannel - -namespace ChangeChannelResponse { -struct Type; -struct DecodableType; -} // namespace ChangeChannelResponse - -namespace ChangeChannelByNumber { -struct Type; -struct DecodableType; -} // namespace ChangeChannelByNumber - -namespace SkipChannel { -struct Type; -struct DecodableType; -} // namespace SkipChannel - -} // namespace Commands - -namespace Commands { -namespace ChangeChannel { -enum class Fields -{ - kMatch = 0, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ChangeChannel::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } - - chip::CharSpan match; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::Channel::Commands::ChangeChannelResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } }; - -struct DecodableType +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::ChangeChannel::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } - - chip::CharSpan match; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } }; -}; // namespace ChangeChannel -namespace ChangeChannelResponse { -enum class Fields +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - kStatus = 0, - kData = 1, + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } }; +} // namespace ClusterRevision -struct Type +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ChangeChannelResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } - - ChannelStatusEnum status = static_cast(0); - Optional data; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } - using ResponseType = DataModel::NullObjectType; + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - static constexpr bool MustUseTimedInvoke() { return false; } + Attributes::CurrentHue::TypeInfo::DecodableType currentHue = static_cast(0); + Attributes::CurrentSaturation::TypeInfo::DecodableType currentSaturation = static_cast(0); + Attributes::RemainingTime::TypeInfo::DecodableType remainingTime = static_cast(0); + Attributes::CurrentX::TypeInfo::DecodableType currentX = static_cast(0); + Attributes::CurrentY::TypeInfo::DecodableType currentY = static_cast(0); + Attributes::DriftCompensation::TypeInfo::DecodableType driftCompensation = static_cast(0); + Attributes::CompensationText::TypeInfo::DecodableType compensationText; + Attributes::ColorTemperature::TypeInfo::DecodableType colorTemperature = static_cast(0); + Attributes::ColorMode::TypeInfo::DecodableType colorMode = static_cast(0); + Attributes::Options::TypeInfo::DecodableType options = static_cast(0); + Attributes::NumberOfPrimaries::TypeInfo::DecodableType numberOfPrimaries; + Attributes::Primary1X::TypeInfo::DecodableType primary1X = static_cast(0); + Attributes::Primary1Y::TypeInfo::DecodableType primary1Y = static_cast(0); + Attributes::Primary1Intensity::TypeInfo::DecodableType primary1Intensity; + Attributes::Primary2X::TypeInfo::DecodableType primary2X = static_cast(0); + Attributes::Primary2Y::TypeInfo::DecodableType primary2Y = static_cast(0); + Attributes::Primary2Intensity::TypeInfo::DecodableType primary2Intensity; + Attributes::Primary3X::TypeInfo::DecodableType primary3X = static_cast(0); + Attributes::Primary3Y::TypeInfo::DecodableType primary3Y = static_cast(0); + Attributes::Primary3Intensity::TypeInfo::DecodableType primary3Intensity; + Attributes::Primary4X::TypeInfo::DecodableType primary4X = static_cast(0); + Attributes::Primary4Y::TypeInfo::DecodableType primary4Y = static_cast(0); + Attributes::Primary4Intensity::TypeInfo::DecodableType primary4Intensity; + Attributes::Primary5X::TypeInfo::DecodableType primary5X = static_cast(0); + Attributes::Primary5Y::TypeInfo::DecodableType primary5Y = static_cast(0); + Attributes::Primary5Intensity::TypeInfo::DecodableType primary5Intensity; + Attributes::Primary6X::TypeInfo::DecodableType primary6X = static_cast(0); + Attributes::Primary6Y::TypeInfo::DecodableType primary6Y = static_cast(0); + Attributes::Primary6Intensity::TypeInfo::DecodableType primary6Intensity; + Attributes::WhitePointX::TypeInfo::DecodableType whitePointX = static_cast(0); + Attributes::WhitePointY::TypeInfo::DecodableType whitePointY = static_cast(0); + Attributes::ColorPointRX::TypeInfo::DecodableType colorPointRX = static_cast(0); + Attributes::ColorPointRY::TypeInfo::DecodableType colorPointRY = static_cast(0); + Attributes::ColorPointRIntensity::TypeInfo::DecodableType colorPointRIntensity; + Attributes::ColorPointGX::TypeInfo::DecodableType colorPointGX = static_cast(0); + Attributes::ColorPointGY::TypeInfo::DecodableType colorPointGY = static_cast(0); + Attributes::ColorPointGIntensity::TypeInfo::DecodableType colorPointGIntensity; + Attributes::ColorPointBX::TypeInfo::DecodableType colorPointBX = static_cast(0); + Attributes::ColorPointBY::TypeInfo::DecodableType colorPointBY = static_cast(0); + Attributes::ColorPointBIntensity::TypeInfo::DecodableType colorPointBIntensity; + Attributes::EnhancedCurrentHue::TypeInfo::DecodableType enhancedCurrentHue = static_cast(0); + Attributes::EnhancedColorMode::TypeInfo::DecodableType enhancedColorMode = static_cast(0); + Attributes::ColorLoopActive::TypeInfo::DecodableType colorLoopActive = static_cast(0); + Attributes::ColorLoopDirection::TypeInfo::DecodableType colorLoopDirection = static_cast(0); + Attributes::ColorLoopTime::TypeInfo::DecodableType colorLoopTime = static_cast(0); + Attributes::ColorLoopStartEnhancedHue::TypeInfo::DecodableType colorLoopStartEnhancedHue = static_cast(0); + Attributes::ColorLoopStoredEnhancedHue::TypeInfo::DecodableType colorLoopStoredEnhancedHue = static_cast(0); + Attributes::ColorCapabilities::TypeInfo::DecodableType colorCapabilities = static_cast(0); + Attributes::ColorTempPhysicalMinMireds::TypeInfo::DecodableType colorTempPhysicalMinMireds = static_cast(0); + Attributes::ColorTempPhysicalMaxMireds::TypeInfo::DecodableType colorTempPhysicalMaxMireds = static_cast(0); + Attributes::CoupleColorTempToLevelMinMireds::TypeInfo::DecodableType coupleColorTempToLevelMinMireds = + static_cast(0); + Attributes::StartUpColorTemperatureMireds::TypeInfo::DecodableType startUpColorTemperatureMireds = static_cast(0); + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; +} // namespace Attributes +} // namespace ColorControl +namespace BallastConfiguration { -struct DecodableType +namespace Attributes { + +namespace PhysicalMinLevel { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::ChangeChannelResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - ChannelStatusEnum status = static_cast(0); - Optional data; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalMinLevel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace ChangeChannelResponse -namespace ChangeChannelByNumber { -enum class Fields +} // namespace PhysicalMinLevel +namespace PhysicalMaxLevel { +struct TypeInfo { - kMajorNumber = 0, - kMinorNumber = 1, -}; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalMaxLevel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace PhysicalMaxLevel +namespace BallastStatus { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ChangeChannelByNumber::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } - - uint16_t majorNumber = static_cast(0); - uint16_t minorNumber = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BallastStatus::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace BallastStatus +namespace MinLevel { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::ChangeChannelByNumber::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - uint16_t majorNumber = static_cast(0); - uint16_t minorNumber = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinLevel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace ChangeChannelByNumber -namespace SkipChannel { -enum class Fields +} // namespace MinLevel +namespace MaxLevel { +struct TypeInfo { - kCount = 0, -}; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxLevel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MaxLevel +namespace IntrinsicBalanceFactor { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SkipChannel::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - uint16_t count = static_cast(0); + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::IntrinsicBalanceFactor::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace IntrinsicBalanceFactor +namespace BallastFactorAdjustment { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::BallastFactorAdjustment::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace BallastFactorAdjustment +namespace LampQuantity { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - using ResponseType = DataModel::NullObjectType; + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LampQuantity::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace LampQuantity +namespace LampType { +struct TypeInfo +{ + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LampType::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 16; } }; +} // namespace LampType +namespace LampManufacturer { +struct TypeInfo +{ + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; -struct DecodableType + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LampManufacturer::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 16; } +}; +} // namespace LampManufacturer +namespace LampRatedHours { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::SkipChannel::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - uint16_t count = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LampRatedHours::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace SkipChannel -} // namespace Commands - -namespace Attributes { - -namespace ChannelList { +} // namespace LampRatedHours +namespace LampBurnHours { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = - const chip::app::DataModel::DecodableList &; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ChannelList::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LampBurnHours::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ChannelList -namespace Lineup { +} // namespace LampBurnHours +namespace LampAlarmMode { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = - const chip::app::DataModel::Nullable &; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Lineup::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LampAlarmMode::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Lineup -namespace CurrentChannel { +} // namespace LampAlarmMode +namespace LampBurnHoursTripPoint { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = - const chip::app::DataModel::Nullable &; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentChannel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LampBurnHoursTripPoint::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentChannel +} // namespace LampBurnHoursTripPoint namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } }; } // namespace ClusterRevision @@ -27065,13 +19218,24 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::ChannelList::TypeInfo::DecodableType channelList; - Attributes::Lineup::TypeInfo::DecodableType lineup; - Attributes::CurrentChannel::TypeInfo::DecodableType currentChannel; + Attributes::PhysicalMinLevel::TypeInfo::DecodableType physicalMinLevel = static_cast(0); + Attributes::PhysicalMaxLevel::TypeInfo::DecodableType physicalMaxLevel = static_cast(0); + Attributes::BallastStatus::TypeInfo::DecodableType ballastStatus = static_cast(0); + Attributes::MinLevel::TypeInfo::DecodableType minLevel = static_cast(0); + Attributes::MaxLevel::TypeInfo::DecodableType maxLevel = static_cast(0); + Attributes::IntrinsicBalanceFactor::TypeInfo::DecodableType intrinsicBalanceFactor; + Attributes::BallastFactorAdjustment::TypeInfo::DecodableType ballastFactorAdjustment; + Attributes::LampQuantity::TypeInfo::DecodableType lampQuantity = static_cast(0); + Attributes::LampType::TypeInfo::DecodableType lampType; + Attributes::LampManufacturer::TypeInfo::DecodableType lampManufacturer; + Attributes::LampRatedHours::TypeInfo::DecodableType lampRatedHours; + Attributes::LampBurnHours::TypeInfo::DecodableType lampBurnHours; + Attributes::LampAlarmMode::TypeInfo::DecodableType lampAlarmMode = static_cast(0); + Attributes::LampBurnHoursTripPoint::TypeInfo::DecodableType lampBurnHoursTripPoint; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -27080,178 +19244,204 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace Channel -namespace TargetNavigator { -namespace Structs { -namespace TargetInfo { -enum class Fields -{ - kIdentifier = 0, - kName = 1, -}; - -struct Type -{ -public: - uint8_t identifier = static_cast(0); - chip::CharSpan name; +} // namespace BallastConfiguration +namespace IlluminanceMeasurement { - CHIP_ERROR Decode(TLV::TLVReader & reader); +namespace Attributes { - static constexpr bool kIsFabricScoped = false; +namespace MeasuredValue { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; +} // namespace MeasuredValue +namespace MinMeasuredValue { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; -using DecodableType = Type; - -} // namespace TargetInfo -} // namespace Structs - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace NavigateTarget { -struct Type; -struct DecodableType; -} // namespace NavigateTarget + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MinMeasuredValue +namespace MaxMeasuredValue { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; -namespace NavigateTargetResponse { -struct Type; -struct DecodableType; -} // namespace NavigateTargetResponse + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MaxMeasuredValue +namespace Tolerance { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; -} // namespace Commands + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace Tolerance +namespace LightSensorType { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; -namespace Commands { -namespace NavigateTarget { -enum class Fields + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LightSensorType::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace LightSensorType +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - kTarget = 0, - kData = 1, + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } }; - -struct Type +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::NavigateTarget::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } - - uint8_t target = static_cast(0); - Optional data; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::TargetNavigator::Commands::NavigateTargetResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } }; - -struct DecodableType +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::NavigateTarget::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } - - uint8_t target = static_cast(0); - Optional data; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } }; -}; // namespace NavigateTarget -namespace NavigateTargetResponse { -enum class Fields +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - kStatus = 0, - kData = 1, + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } }; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } +}; +} // namespace ClusterRevision -struct Type +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::NavigateTargetResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } - TargetNavigatorStatusEnum status = static_cast(0); - Optional data; + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue; + Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue; + Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue; + Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); + Attributes::LightSensorType::TypeInfo::DecodableType lightSensorType; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; +}; +} // namespace Attributes +} // namespace IlluminanceMeasurement +namespace TemperatureMeasurement { - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +namespace Attributes { - using ResponseType = DataModel::NullObjectType; +namespace MeasuredValue { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace MeasuredValue +namespace MinMeasuredValue { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::NavigateTargetResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - TargetNavigatorStatusEnum status = static_cast(0); - Optional data; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace NavigateTargetResponse -} // namespace Commands - -namespace Attributes { - -namespace TargetList { +} // namespace MinMeasuredValue +namespace MaxMeasuredValue { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = - chip::app::DataModel::DecodableList; - using DecodableArgType = - const chip::app::DataModel::DecodableList &; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TargetList::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace TargetList -namespace CurrentTarget { +} // namespace MaxMeasuredValue +namespace Tolerance { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentTarget::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentTarget +} // namespace Tolerance namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } }; } // namespace ClusterRevision @@ -27259,12 +19449,14 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::TargetList::TypeInfo::DecodableType targetList; - Attributes::CurrentTarget::TypeInfo::DecodableType currentTarget = static_cast(0); + Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue; + Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue; + Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue; + Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -27273,573 +19465,644 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace TargetNavigator -namespace MediaPlayback { -namespace Structs { -namespace PlaybackPosition { -enum class Fields -{ - kUpdatedAt = 0, - kPosition = 1, -}; - -struct Type -{ -public: - uint64_t updatedAt = static_cast(0); - DataModel::Nullable position; - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -using DecodableType = Type; - -} // namespace PlaybackPosition -} // namespace Structs - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace Play { -struct Type; -struct DecodableType; -} // namespace Play - -namespace Pause { -struct Type; -struct DecodableType; -} // namespace Pause - -namespace StopPlayback { -struct Type; -struct DecodableType; -} // namespace StopPlayback - -namespace StartOver { -struct Type; -struct DecodableType; -} // namespace StartOver - -namespace Previous { -struct Type; -struct DecodableType; -} // namespace Previous - -namespace Next { -struct Type; -struct DecodableType; -} // namespace Next - -namespace Rewind { -struct Type; -struct DecodableType; -} // namespace Rewind - -namespace FastForward { -struct Type; -struct DecodableType; -} // namespace FastForward - -namespace SkipForward { -struct Type; -struct DecodableType; -} // namespace SkipForward - -namespace SkipBackward { -struct Type; -struct DecodableType; -} // namespace SkipBackward - -namespace PlaybackResponse { -struct Type; -struct DecodableType; -} // namespace PlaybackResponse - -namespace Seek { -struct Type; -struct DecodableType; -} // namespace Seek - -} // namespace Commands +} // namespace TemperatureMeasurement +namespace PressureMeasurement { -namespace Commands { -namespace Play { -enum class Fields -{ -}; +namespace Attributes { -struct Type +namespace MeasuredValue { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::Play::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace MeasuredValue +namespace MinMeasuredValue { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::Play::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace Play -namespace Pause { -enum class Fields +} // namespace MinMeasuredValue +namespace MaxMeasuredValue { +struct TypeInfo { -}; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MaxMeasuredValue +namespace Tolerance { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::Pause::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace Tolerance +namespace ScaledValue { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::Pause::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ScaledValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace Pause -namespace StopPlayback { -enum class Fields +} // namespace ScaledValue +namespace MinScaledValue { +struct TypeInfo { -}; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinScaledValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MinScaledValue +namespace MaxScaledValue { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::StopPlayback::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxScaledValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; +} // namespace MaxScaledValue +namespace ScaledTolerance { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; -struct DecodableType + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ScaledTolerance::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ScaledTolerance +namespace Scale { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::StopPlayback::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + using Type = int8_t; + using DecodableType = int8_t; + using DecodableArgType = int8_t; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Scale::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace StopPlayback -namespace StartOver { -enum class Fields +} // namespace Scale +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } }; - -struct Type +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::StartOver::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } }; - -struct DecodableType +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::StartOver::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } }; -}; // namespace StartOver -namespace Previous { -enum class Fields +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } }; - -struct Type +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::Previous::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } +}; +} // namespace ClusterRevision - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +struct TypeInfo +{ + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } - using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - static constexpr bool MustUseTimedInvoke() { return false; } + Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue; + Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue; + Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue; + Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); + Attributes::ScaledValue::TypeInfo::DecodableType scaledValue; + Attributes::MinScaledValue::TypeInfo::DecodableType minScaledValue; + Attributes::MaxScaledValue::TypeInfo::DecodableType maxScaledValue; + Attributes::ScaledTolerance::TypeInfo::DecodableType scaledTolerance = static_cast(0); + Attributes::Scale::TypeInfo::DecodableType scale = static_cast(0); + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; +} // namespace Attributes +} // namespace PressureMeasurement +namespace FlowMeasurement { -struct DecodableType +namespace Attributes { + +namespace MeasuredValue { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::Previous::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace Previous -namespace Next { -enum class Fields +} // namespace MeasuredValue +namespace MinMeasuredValue { +struct TypeInfo { -}; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MinMeasuredValue +namespace MaxMeasuredValue { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::Next::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace MaxMeasuredValue +namespace Tolerance { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::Next::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace Next -namespace Rewind { -enum class Fields +} // namespace Tolerance +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { + static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } }; - -struct Type +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::Rewind::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } }; - -struct DecodableType +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::Rewind::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } +}; +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } }; -}; // namespace Rewind -namespace FastForward { -enum class Fields +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { + static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } }; +} // namespace ClusterRevision -struct Type +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::FastForward::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } - using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - static constexpr bool MustUseTimedInvoke() { return false; } + Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue; + Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue; + Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue; + Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; +} // namespace Attributes +} // namespace FlowMeasurement +namespace RelativeHumidityMeasurement { -struct DecodableType +namespace Attributes { + +namespace MeasuredValue { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::FastForward::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace FastForward -namespace SkipForward { -enum class Fields +} // namespace MeasuredValue +namespace MinMeasuredValue { +struct TypeInfo { - kDeltaPositionMilliseconds = 0, -}; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MinMeasuredValue +namespace MaxMeasuredValue { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SkipForward::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - - uint64_t deltaPositionMilliseconds = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace MaxMeasuredValue +namespace Tolerance { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::SkipForward::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - uint64_t deltaPositionMilliseconds = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace SkipForward -namespace SkipBackward { -enum class Fields +} // namespace Tolerance +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - kDeltaPositionMilliseconds = 0, + static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } }; - -struct Type +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SkipBackward::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - - uint64_t deltaPositionMilliseconds = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } }; - -struct DecodableType +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::SkipBackward::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - - uint64_t deltaPositionMilliseconds = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } }; -}; // namespace SkipBackward -namespace PlaybackResponse { -enum class Fields +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - kStatus = 0, - kData = 1, + static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } }; - -struct Type +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::PlaybackResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - - MediaPlaybackStatusEnum status = static_cast(0); - Optional data; + static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } +}; +} // namespace ClusterRevision - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +struct TypeInfo +{ + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } - using ResponseType = DataModel::NullObjectType; + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - static constexpr bool MustUseTimedInvoke() { return false; } + Attributes::MeasuredValue::TypeInfo::DecodableType measuredValue; + Attributes::MinMeasuredValue::TypeInfo::DecodableType minMeasuredValue; + Attributes::MaxMeasuredValue::TypeInfo::DecodableType maxMeasuredValue; + Attributes::Tolerance::TypeInfo::DecodableType tolerance = static_cast(0); + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; }; +} // namespace Attributes +} // namespace RelativeHumidityMeasurement +namespace OccupancySensing { -struct DecodableType +namespace Attributes { + +namespace Occupancy { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::PlaybackResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - MediaPlaybackStatusEnum status = static_cast(0); - Optional data; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Occupancy::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace PlaybackResponse -namespace Seek { -enum class Fields +} // namespace Occupancy +namespace OccupancySensorType { +struct TypeInfo { - kPosition = 0, -}; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OccupancySensorType::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace OccupancySensorType +namespace OccupancySensorTypeBitmap { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::Seek::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - - uint64_t position = static_cast(0); + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OccupancySensorTypeBitmap::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace OccupancySensorTypeBitmap +namespace PirOccupiedToUnoccupiedDelay { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PirOccupiedToUnoccupiedDelay::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace PirOccupiedToUnoccupiedDelay +namespace PirUnoccupiedToOccupiedDelay { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PirUnoccupiedToOccupiedDelay::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; - -struct DecodableType +} // namespace PirUnoccupiedToOccupiedDelay +namespace PirUnoccupiedToOccupiedThreshold { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::Seek::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - uint64_t position = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PirUnoccupiedToOccupiedThreshold::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace Seek -} // namespace Commands - -namespace Attributes { - -namespace CurrentState { +} // namespace PirUnoccupiedToOccupiedThreshold +namespace UltrasonicOccupiedToUnoccupiedDelay { struct TypeInfo { - using Type = chip::app::Clusters::MediaPlayback::PlaybackStateEnum; - using DecodableType = chip::app::Clusters::MediaPlayback::PlaybackStateEnum; - using DecodableArgType = chip::app::Clusters::MediaPlayback::PlaybackStateEnum; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentState::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentState -namespace StartTime { +} // namespace UltrasonicOccupiedToUnoccupiedDelay +namespace UltrasonicUnoccupiedToOccupiedDelay { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::StartTime::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace StartTime -namespace Duration { +} // namespace UltrasonicUnoccupiedToOccupiedDelay +namespace UltrasonicUnoccupiedToOccupiedThreshold { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Duration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace Duration -namespace SampledPosition { +} // namespace UltrasonicUnoccupiedToOccupiedThreshold +namespace PhysicalContactOccupiedToUnoccupiedDelay { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = - chip::app::DataModel::Nullable; - using DecodableArgType = - const chip::app::DataModel::Nullable &; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SampledPosition::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace SampledPosition -namespace PlaybackSpeed { +} // namespace PhysicalContactOccupiedToUnoccupiedDelay +namespace PhysicalContactUnoccupiedToOccupiedDelay { struct TypeInfo { - using Type = float; - using DecodableType = float; - using DecodableArgType = float; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PlaybackSpeed::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace PlaybackSpeed -namespace SeekRangeEnd { +} // namespace PhysicalContactUnoccupiedToOccupiedDelay +namespace PhysicalContactUnoccupiedToOccupiedThreshold { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SeekRangeEnd::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace SeekRangeEnd -namespace SeekRangeStart { +} // namespace PhysicalContactUnoccupiedToOccupiedThreshold +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } +}; +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } +}; +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } +}; +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } +}; +} // namespace ClusterRevision + struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = chip::app::DataModel::Nullable; - using DecodableArgType = const chip::app::DataModel::Nullable &; + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SeekRangeStart::Id; } + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::Occupancy::TypeInfo::DecodableType occupancy = static_cast(0); + Attributes::OccupancySensorType::TypeInfo::DecodableType occupancySensorType = static_cast(0); + Attributes::OccupancySensorTypeBitmap::TypeInfo::DecodableType occupancySensorTypeBitmap = static_cast(0); + Attributes::PirOccupiedToUnoccupiedDelay::TypeInfo::DecodableType pirOccupiedToUnoccupiedDelay = static_cast(0); + Attributes::PirUnoccupiedToOccupiedDelay::TypeInfo::DecodableType pirUnoccupiedToOccupiedDelay = static_cast(0); + Attributes::PirUnoccupiedToOccupiedThreshold::TypeInfo::DecodableType pirUnoccupiedToOccupiedThreshold = + static_cast(0); + Attributes::UltrasonicOccupiedToUnoccupiedDelay::TypeInfo::DecodableType ultrasonicOccupiedToUnoccupiedDelay = + static_cast(0); + Attributes::UltrasonicUnoccupiedToOccupiedDelay::TypeInfo::DecodableType ultrasonicUnoccupiedToOccupiedDelay = + static_cast(0); + Attributes::UltrasonicUnoccupiedToOccupiedThreshold::TypeInfo::DecodableType ultrasonicUnoccupiedToOccupiedThreshold = + static_cast(0); + Attributes::PhysicalContactOccupiedToUnoccupiedDelay::TypeInfo::DecodableType physicalContactOccupiedToUnoccupiedDelay = + static_cast(0); + Attributes::PhysicalContactUnoccupiedToOccupiedDelay::TypeInfo::DecodableType physicalContactUnoccupiedToOccupiedDelay = + static_cast(0); + Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::TypeInfo::DecodableType + physicalContactUnoccupiedToOccupiedThreshold = static_cast(0); + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; +}; +} // namespace Attributes +} // namespace OccupancySensing +namespace WakeOnLan { + +namespace Attributes { + +namespace MACAddress { +struct TypeInfo +{ + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; + + static constexpr ClusterId GetClusterId() { return Clusters::WakeOnLan::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MACAddress::Id; } static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 32; } }; -} // namespace SeekRangeStart +} // namespace MACAddress namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WakeOnLan::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WakeOnLan::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WakeOnLan::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WakeOnLan::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WakeOnLan::Id; } }; } // namespace ClusterRevision @@ -27847,18 +20110,11 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WakeOnLan::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::CurrentState::TypeInfo::DecodableType currentState = - static_cast(0); - Attributes::StartTime::TypeInfo::DecodableType startTime; - Attributes::Duration::TypeInfo::DecodableType duration; - Attributes::SampledPosition::TypeInfo::DecodableType sampledPosition; - Attributes::PlaybackSpeed::TypeInfo::DecodableType playbackSpeed = static_cast(0); - Attributes::SeekRangeEnd::TypeInfo::DecodableType seekRangeEnd; - Attributes::SeekRangeStart::TypeInfo::DecodableType seekRangeStart; + Attributes::MACAddress::TypeInfo::DecodableType MACAddress; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -27867,25 +20123,54 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace MediaPlayback -namespace MediaInput { +} // namespace WakeOnLan +namespace Channel { namespace Structs { -namespace InputInfo { +namespace ChannelInfo { +enum class Fields +{ + kMajorNumber = 0, + kMinorNumber = 1, + kName = 2, + kCallSign = 3, + kAffiliateCallSign = 4, +}; + +struct Type +{ +public: + uint16_t majorNumber = static_cast(0); + uint16_t minorNumber = static_cast(0); + Optional name; + Optional callSign; + Optional affiliateCallSign; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +using DecodableType = Type; + +} // namespace ChannelInfo +namespace LineupInfo { enum class Fields { - kIndex = 0, - kInputType = 1, - kName = 2, - kDescription = 3, + kOperatorName = 0, + kLineupName = 1, + kPostalCode = 2, + kLineupInfoType = 3, }; struct Type { public: - uint8_t index = static_cast(0); - InputTypeEnum inputType = static_cast(0); - chip::CharSpan name; - chip::CharSpan description; + chip::CharSpan operatorName; + Optional lineupName; + Optional postalCode; + LineupInfoTypeEnum lineupInfoType = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); @@ -27896,53 +20181,53 @@ struct Type using DecodableType = Type; -} // namespace InputInfo +} // namespace LineupInfo } // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. -namespace SelectInput { +namespace ChangeChannel { struct Type; struct DecodableType; -} // namespace SelectInput +} // namespace ChangeChannel -namespace ShowInputStatus { +namespace ChangeChannelResponse { struct Type; struct DecodableType; -} // namespace ShowInputStatus +} // namespace ChangeChannelResponse -namespace HideInputStatus { +namespace ChangeChannelByNumber { struct Type; struct DecodableType; -} // namespace HideInputStatus +} // namespace ChangeChannelByNumber -namespace RenameInput { +namespace SkipChannel { struct Type; struct DecodableType; -} // namespace RenameInput +} // namespace SkipChannel } // namespace Commands namespace Commands { -namespace SelectInput { +namespace ChangeChannel { enum class Fields { - kIndex = 0, + kMatch = 0, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SelectInput::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr CommandId GetCommandId() { return Commands::ChangeChannel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } - uint8_t index = static_cast(0); + chip::CharSpan match; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = DataModel::NullObjectType; + using ResponseType = Clusters::Channel::Commands::ChangeChannelResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -27950,24 +20235,29 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::SelectInput::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr CommandId GetCommandId() { return Commands::ChangeChannel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } - uint8_t index = static_cast(0); + chip::CharSpan match; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace SelectInput -namespace ShowInputStatus { +}; // namespace ChangeChannel +namespace ChangeChannelResponse { enum class Fields { + kStatus = 0, + kData = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::ShowInputStatus::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr CommandId GetCommandId() { return Commands::ChangeChannelResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } + + ChannelStatusEnum status = static_cast(0); + Optional data; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -27979,23 +20269,30 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::ShowInputStatus::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr CommandId GetCommandId() { return Commands::ChangeChannelResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } + ChannelStatusEnum status = static_cast(0); + Optional data; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace ShowInputStatus -namespace HideInputStatus { +}; // namespace ChangeChannelResponse +namespace ChangeChannelByNumber { enum class Fields { + kMajorNumber = 0, + kMinorNumber = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::HideInputStatus::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr CommandId GetCommandId() { return Commands::ChangeChannelByNumber::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } + + uint16_t majorNumber = static_cast(0); + uint16_t minorNumber = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -28007,28 +20304,28 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::HideInputStatus::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr CommandId GetCommandId() { return Commands::ChangeChannelByNumber::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } + uint16_t majorNumber = static_cast(0); + uint16_t minorNumber = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace HideInputStatus -namespace RenameInput { +}; // namespace ChangeChannelByNumber +namespace SkipChannel { enum class Fields { - kIndex = 0, - kName = 1, + kCount = 0, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::RenameInput::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr CommandId GetCommandId() { return Commands::SkipChannel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } - uint8_t index = static_cast(0); - chip::CharSpan name; + uint16_t count = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -28040,71 +20337,84 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::RenameInput::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr CommandId GetCommandId() { return Commands::SkipChannel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } - uint8_t index = static_cast(0); - chip::CharSpan name; + uint16_t count = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace RenameInput +}; // namespace SkipChannel } // namespace Commands namespace Attributes { -namespace InputList { +namespace ChannelList { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; using DecodableArgType = - const chip::app::DataModel::DecodableList &; + const chip::app::DataModel::DecodableList &; - static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::InputList::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ChannelList::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace InputList -namespace CurrentInput { +} // namespace ChannelList +namespace Lineup { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = + const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Lineup::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentInput +} // namespace Lineup +namespace CurrentChannel { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = + const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentChannel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace CurrentChannel namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } }; } // namespace ClusterRevision @@ -28112,12 +20422,13 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Channel::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::InputList::TypeInfo::DecodableType inputList; - Attributes::CurrentInput::TypeInfo::DecodableType currentInput = static_cast(0); + Attributes::ChannelList::TypeInfo::DecodableType channelList; + Attributes::Lineup::TypeInfo::DecodableType lineup; + Attributes::CurrentChannel::TypeInfo::DecodableType currentChannel; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -28126,136 +20437,70 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace MediaInput -namespace LowPower { - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace Sleep { -struct Type; -struct DecodableType; -} // namespace Sleep - -} // namespace Commands - -namespace Commands { -namespace Sleep { +} // namespace Channel +namespace TargetNavigator { +namespace Structs { +namespace TargetInfo { enum class Fields { + kIdentifier = 0, + kName = 1, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::Sleep::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::Sleep::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } + uint8_t identifier = static_cast(0); + chip::CharSpan name; CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace Sleep -} // namespace Commands - -namespace Attributes { - -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } -}; -} // namespace ClusterRevision - -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + static constexpr bool kIsFabricScoped = false; - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace Attributes -} // namespace LowPower -namespace KeypadInput { + +using DecodableType = Type; + +} // namespace TargetInfo +} // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. -namespace SendKey { +namespace NavigateTarget { struct Type; struct DecodableType; -} // namespace SendKey +} // namespace NavigateTarget -namespace SendKeyResponse { +namespace NavigateTargetResponse { struct Type; struct DecodableType; -} // namespace SendKeyResponse +} // namespace NavigateTargetResponse } // namespace Commands namespace Commands { -namespace SendKey { +namespace NavigateTarget { enum class Fields { - kKeyCode = 0, + kTarget = 0, + kData = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SendKey::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } + static constexpr CommandId GetCommandId() { return Commands::NavigateTarget::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } - CecKeyCode keyCode = static_cast(0); + uint8_t target = static_cast(0); + Optional data; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::KeypadInput::Commands::SendKeyResponse::DecodableType; + using ResponseType = Clusters::TargetNavigator::Commands::NavigateTargetResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -28263,27 +20508,30 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::SendKey::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } + static constexpr CommandId GetCommandId() { return Commands::NavigateTarget::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } - CecKeyCode keyCode = static_cast(0); + uint8_t target = static_cast(0); + Optional data; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace SendKey -namespace SendKeyResponse { +}; // namespace NavigateTarget +namespace NavigateTargetResponse { enum class Fields { kStatus = 0, + kData = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SendKeyResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } + static constexpr CommandId GetCommandId() { return Commands::NavigateTargetResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } - KeypadInputStatusEnum status = static_cast(0); + TargetNavigatorStatusEnum status = static_cast(0); + Optional data; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -28295,45 +20543,72 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::SendKeyResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } + static constexpr CommandId GetCommandId() { return Commands::NavigateTargetResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } - KeypadInputStatusEnum status = static_cast(0); + TargetNavigatorStatusEnum status = static_cast(0); + Optional data; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace SendKeyResponse +}; // namespace NavigateTargetResponse } // namespace Commands namespace Attributes { +namespace TargetList { +struct TypeInfo +{ + using Type = chip::app::DataModel::List; + using DecodableType = + chip::app::DataModel::DecodableList; + using DecodableArgType = + const chip::app::DataModel::DecodableList &; + + static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TargetList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace TargetList +namespace CurrentTarget { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentTarget::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace CurrentTarget namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } }; } // namespace ClusterRevision @@ -28341,10 +20616,12 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + Attributes::TargetList::TypeInfo::DecodableType targetList; + Attributes::CurrentTarget::TypeInfo::DecodableType currentTarget = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -28353,23 +20630,21 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace KeypadInput -namespace ContentLauncher { +} // namespace TargetNavigator +namespace MediaPlayback { namespace Structs { -namespace Dimension { +namespace PlaybackPosition { enum class Fields { - kWidth = 0, - kHeight = 1, - kMetric = 2, + kUpdatedAt = 0, + kPosition = 1, }; struct Type { public: - double width = static_cast(0); - double height = static_cast(0); - MetricTypeEnum metric = static_cast(0); + uint64_t updatedAt = static_cast(0); + DataModel::Nullable position; CHIP_ERROR Decode(TLV::TLVReader & reader); @@ -28380,191 +20655,230 @@ struct Type using DecodableType = Type; -} // namespace Dimension -namespace AdditionalInfo { +} // namespace PlaybackPosition +} // namespace Structs + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace Play { +struct Type; +struct DecodableType; +} // namespace Play + +namespace Pause { +struct Type; +struct DecodableType; +} // namespace Pause + +namespace StopPlayback { +struct Type; +struct DecodableType; +} // namespace StopPlayback + +namespace StartOver { +struct Type; +struct DecodableType; +} // namespace StartOver + +namespace Previous { +struct Type; +struct DecodableType; +} // namespace Previous + +namespace Next { +struct Type; +struct DecodableType; +} // namespace Next + +namespace Rewind { +struct Type; +struct DecodableType; +} // namespace Rewind + +namespace FastForward { +struct Type; +struct DecodableType; +} // namespace FastForward + +namespace SkipForward { +struct Type; +struct DecodableType; +} // namespace SkipForward + +namespace SkipBackward { +struct Type; +struct DecodableType; +} // namespace SkipBackward + +namespace PlaybackResponse { +struct Type; +struct DecodableType; +} // namespace PlaybackResponse + +namespace Seek { +struct Type; +struct DecodableType; +} // namespace Seek + +} // namespace Commands + +namespace Commands { +namespace Play { enum class Fields { - kName = 0, - kValue = 1, }; struct Type { public: - chip::CharSpan name; - chip::CharSpan value; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::Play::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::Play::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace Play +namespace Pause { +enum class Fields +{ +}; - static constexpr bool kIsFabricScoped = false; +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::Pause::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -using DecodableType = Type; +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::Pause::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } -} // namespace AdditionalInfo -namespace Parameter { + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace Pause +namespace StopPlayback { enum class Fields { - kType = 0, - kValue = 1, - kExternalIDList = 2, }; struct Type { public: - ParameterEnum type = static_cast(0); - chip::CharSpan value; - Optional> externalIDList; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::StopPlayback::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - static constexpr bool kIsFabricScoped = false; + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - ParameterEnum type = static_cast(0); - chip::CharSpan value; - Optional> externalIDList; + static constexpr CommandId GetCommandId() { return Commands::StopPlayback::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; }; - -} // namespace Parameter -namespace ContentSearch { +}; // namespace StopPlayback +namespace StartOver { enum class Fields { - kParameterList = 0, }; struct Type { public: - DataModel::List parameterList; - - static constexpr bool kIsFabricScoped = false; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::StartOver::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - DataModel::DecodableList parameterList; + static constexpr CommandId GetCommandId() { return Commands::StartOver::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; }; - -} // namespace ContentSearch -namespace StyleInformation { +}; // namespace StartOver +namespace Previous { enum class Fields { - kImageUrl = 0, - kColor = 1, - kSize = 2, }; struct Type { public: - Optional imageUrl; - Optional color; - Optional size; - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::Previous::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; -using DecodableType = Type; + using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; -} // namespace StyleInformation -namespace BrandingInformation { -enum class Fields -{ - kProviderName = 0, - kBackground = 1, - kLogo = 2, - kProgressBar = 3, - kSplash = 4, - kWaterMark = 5, + static constexpr bool MustUseTimedInvoke() { return false; } }; -struct Type +struct DecodableType { public: - chip::CharSpan providerName; - Optional background; - Optional logo; - Optional progressBar; - Optional splash; - Optional waterMark; + static constexpr CommandId GetCommandId() { return Commands::Previous::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; - -using DecodableType = Type; - -} // namespace BrandingInformation -} // namespace Structs - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace LaunchContent { -struct Type; -struct DecodableType; -} // namespace LaunchContent - -namespace LaunchURL { -struct Type; -struct DecodableType; -} // namespace LaunchURL - -namespace LaunchResponse { -struct Type; -struct DecodableType; -} // namespace LaunchResponse - -} // namespace Commands - -namespace Commands { -namespace LaunchContent { +}; // namespace Previous +namespace Next { enum class Fields { - kSearch = 0, - kAutoPlay = 1, - kData = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::LaunchContent::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } - - Structs::ContentSearch::Type search; - bool autoPlay = static_cast(0); - Optional data; + static constexpr CommandId GetCommandId() { return Commands::Next::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::ContentLauncher::Commands::LaunchResponse::DecodableType; + using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -28572,37 +20886,27 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::LaunchContent::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } + static constexpr CommandId GetCommandId() { return Commands::Next::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - Structs::ContentSearch::DecodableType search; - bool autoPlay = static_cast(0); - Optional data; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace LaunchContent -namespace LaunchURL { +}; // namespace Next +namespace Rewind { enum class Fields { - kContentURL = 0, - kDisplayString = 1, - kBrandingInformation = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::LaunchURL::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } - - chip::CharSpan contentURL; - Optional displayString; - Optional brandingInformation; + static constexpr CommandId GetCommandId() { return Commands::Rewind::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::ContentLauncher::Commands::LaunchResponse::DecodableType; + using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -28610,35 +20914,27 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::LaunchURL::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } + static constexpr CommandId GetCommandId() { return Commands::Rewind::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - chip::CharSpan contentURL; - Optional displayString; - Optional brandingInformation; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace LaunchURL -namespace LaunchResponse { +}; // namespace Rewind +namespace FastForward { enum class Fields { - kStatus = 0, - kData = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::LaunchResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } - - ContentLaunchStatusEnum status = static_cast(0); - Optional data; + static constexpr CommandId GetCommandId() { return Commands::FastForward::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = DataModel::NullObjectType; + using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -28646,151 +20942,92 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::LaunchResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } + static constexpr CommandId GetCommandId() { return Commands::FastForward::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - ContentLaunchStatusEnum status = static_cast(0); - Optional data; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace LaunchResponse -} // namespace Commands - -namespace Attributes { - -namespace AcceptHeader { -struct TypeInfo +}; // namespace FastForward +namespace SkipForward { +enum class Fields { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList &; - - static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::AcceptHeader::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kDeltaPositionMilliseconds = 0, }; -} // namespace AcceptHeader -namespace SupportedStreamingProtocols { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SupportedStreamingProtocols::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace SupportedStreamingProtocols -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +struct Type { - static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } -}; -} // namespace ClusterRevision +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SkipForward::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } -struct TypeInfo -{ - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } + uint64_t deltaPositionMilliseconds = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - Attributes::AcceptHeader::TypeInfo::DecodableType acceptHeader; - Attributes::SupportedStreamingProtocols::TypeInfo::DecodableType supportedStreamingProtocols = static_cast(0); - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::SkipForward::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + + uint64_t deltaPositionMilliseconds = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Attributes -} // namespace ContentLauncher -namespace AudioOutput { -namespace Structs { -namespace OutputInfo { +}; // namespace SkipForward +namespace SkipBackward { enum class Fields { - kIndex = 0, - kOutputType = 1, - kName = 2, + kDeltaPositionMilliseconds = 0, }; struct Type { public: - uint8_t index = static_cast(0); - OutputTypeEnum outputType = static_cast(0); - chip::CharSpan name; - - CHIP_ERROR Decode(TLV::TLVReader & reader); + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SkipBackward::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - static constexpr bool kIsFabricScoped = false; + uint64_t deltaPositionMilliseconds = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -using DecodableType = Type; -} // namespace OutputInfo -} // namespace Structs - -namespace Commands { -// Forward-declarations so we can reference these later. - -namespace SelectOutput { -struct Type; -struct DecodableType; -} // namespace SelectOutput + using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; -namespace RenameOutput { -struct Type; -struct DecodableType; -} // namespace RenameOutput + static constexpr bool MustUseTimedInvoke() { return false; } +}; -} // namespace Commands +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::SkipBackward::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } -namespace Commands { -namespace SelectOutput { + uint64_t deltaPositionMilliseconds = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace SkipBackward +namespace PlaybackResponse { enum class Fields { - kIndex = 0, + kStatus = 0, + kData = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SelectOutput::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } + static constexpr CommandId GetCommandId() { return Commands::PlaybackResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - uint8_t index = static_cast(0); + MediaPlaybackStatusEnum status = static_cast(0); + Optional data; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -28802,33 +21039,32 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::SelectOutput::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } + static constexpr CommandId GetCommandId() { return Commands::PlaybackResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - uint8_t index = static_cast(0); + MediaPlaybackStatusEnum status = static_cast(0); + Optional data; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace SelectOutput -namespace RenameOutput { +}; // namespace PlaybackResponse +namespace Seek { enum class Fields { - kIndex = 0, - kName = 1, + kPosition = 0, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::RenameOutput::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } + static constexpr CommandId GetCommandId() { return Commands::Seek::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - uint8_t index = static_cast(0); - chip::CharSpan name; + uint64_t position = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = DataModel::NullObjectType; + using ResponseType = Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -28836,71 +21072,131 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::RenameOutput::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } + static constexpr CommandId GetCommandId() { return Commands::Seek::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } - uint8_t index = static_cast(0); - chip::CharSpan name; + uint64_t position = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace RenameOutput +}; // namespace Seek } // namespace Commands namespace Attributes { -namespace OutputList { +namespace CurrentState { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; + using Type = chip::app::Clusters::MediaPlayback::PlaybackStateEnum; + using DecodableType = chip::app::Clusters::MediaPlayback::PlaybackStateEnum; + using DecodableArgType = chip::app::Clusters::MediaPlayback::PlaybackStateEnum; + + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentState::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace CurrentState +namespace StartTime { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::StartTime::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace StartTime +namespace Duration { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Duration::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace Duration +namespace SampledPosition { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = + chip::app::DataModel::Nullable; using DecodableArgType = - const chip::app::DataModel::DecodableList &; + const chip::app::DataModel::Nullable &; - static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::OutputList::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SampledPosition::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace OutputList -namespace CurrentOutput { +} // namespace SampledPosition +namespace PlaybackSpeed { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = float; + using DecodableType = float; + using DecodableArgType = float; - static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentOutput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PlaybackSpeed::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentOutput +} // namespace PlaybackSpeed +namespace SeekRangeEnd { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SeekRangeEnd::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace SeekRangeEnd +namespace SeekRangeStart { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = chip::app::DataModel::Nullable; + using DecodableArgType = const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SeekRangeStart::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace SeekRangeStart namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } }; } // namespace ClusterRevision @@ -28908,12 +21204,18 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::OutputList::TypeInfo::DecodableType outputList; - Attributes::CurrentOutput::TypeInfo::DecodableType currentOutput = static_cast(0); + Attributes::CurrentState::TypeInfo::DecodableType currentState = + static_cast(0); + Attributes::StartTime::TypeInfo::DecodableType startTime; + Attributes::Duration::TypeInfo::DecodableType duration; + Attributes::SampledPosition::TypeInfo::DecodableType sampledPosition; + Attributes::PlaybackSpeed::TypeInfo::DecodableType playbackSpeed = static_cast(0); + Attributes::SeekRangeEnd::TypeInfo::DecodableType seekRangeEnd; + Attributes::SeekRangeStart::TypeInfo::DecodableType seekRangeStart; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -28922,44 +21224,25 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace AudioOutput -namespace ApplicationLauncher { +} // namespace MediaPlayback +namespace MediaInput { namespace Structs { -namespace Application { -enum class Fields -{ - kCatalogVendorId = 0, - kApplicationId = 1, -}; - -struct Type -{ -public: - uint16_t catalogVendorId = static_cast(0); - chip::CharSpan applicationId; - - CHIP_ERROR Decode(TLV::TLVReader & reader); - - static constexpr bool kIsFabricScoped = false; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -using DecodableType = Type; - -} // namespace Application -namespace ApplicationEP { +namespace InputInfo { enum class Fields { - kApplication = 0, - kEndpoint = 1, + kIndex = 0, + kInputType = 1, + kName = 2, + kDescription = 3, }; struct Type { public: - Structs::Application::Type application; - Optional endpoint; + uint8_t index = static_cast(0); + InputTypeEnum inputType = static_cast(0); + chip::CharSpan name; + chip::CharSpan description; CHIP_ERROR Decode(TLV::TLVReader & reader); @@ -28970,55 +21253,53 @@ struct Type using DecodableType = Type; -} // namespace ApplicationEP +} // namespace InputInfo } // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. -namespace LaunchApp { +namespace SelectInput { struct Type; struct DecodableType; -} // namespace LaunchApp +} // namespace SelectInput -namespace StopApp { +namespace ShowInputStatus { struct Type; struct DecodableType; -} // namespace StopApp +} // namespace ShowInputStatus -namespace HideApp { +namespace HideInputStatus { struct Type; struct DecodableType; -} // namespace HideApp +} // namespace HideInputStatus -namespace LauncherResponse { +namespace RenameInput { struct Type; struct DecodableType; -} // namespace LauncherResponse +} // namespace RenameInput } // namespace Commands namespace Commands { -namespace LaunchApp { +namespace SelectInput { enum class Fields { - kApplication = 0, - kData = 1, + kIndex = 0, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::LaunchApp::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + static constexpr CommandId GetCommandId() { return Commands::SelectInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } - Structs::Application::Type application; - Optional data; + uint8_t index = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::ApplicationLauncher::Commands::LauncherResponse::DecodableType; + using ResponseType = DataModel::NullObjectType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -29026,32 +21307,28 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::LaunchApp::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + static constexpr CommandId GetCommandId() { return Commands::SelectInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } - Structs::Application::DecodableType application; - Optional data; + uint8_t index = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace LaunchApp -namespace StopApp { +}; // namespace SelectInput +namespace ShowInputStatus { enum class Fields { - kApplication = 0, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::StopApp::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } - - Structs::Application::Type application; + static constexpr CommandId GetCommandId() { return Commands::ShowInputStatus::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::ApplicationLauncher::Commands::LauncherResponse::DecodableType; + using ResponseType = DataModel::NullObjectType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -29059,31 +21336,27 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::StopApp::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + static constexpr CommandId GetCommandId() { return Commands::ShowInputStatus::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } - Structs::Application::DecodableType application; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace StopApp -namespace HideApp { +}; // namespace ShowInputStatus +namespace HideInputStatus { enum class Fields { - kApplication = 0, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::HideApp::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } - - Structs::Application::Type application; + static constexpr CommandId GetCommandId() { return Commands::HideInputStatus::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::ApplicationLauncher::Commands::LauncherResponse::DecodableType; + using ResponseType = DataModel::NullObjectType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -29091,29 +21364,28 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::HideApp::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + static constexpr CommandId GetCommandId() { return Commands::HideInputStatus::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } - Structs::Application::DecodableType application; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace HideApp -namespace LauncherResponse { +}; // namespace HideInputStatus +namespace RenameInput { enum class Fields { - kStatus = 0, - kData = 1, + kIndex = 0, + kName = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::LauncherResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + static constexpr CommandId GetCommandId() { return Commands::RenameInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } - ApplicationLauncherStatusEnum status = static_cast(0); - chip::ByteSpan data; + uint8_t index = static_cast(0); + chip::CharSpan name; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -29125,72 +21397,71 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::LauncherResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + static constexpr CommandId GetCommandId() { return Commands::RenameInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } - ApplicationLauncherStatusEnum status = static_cast(0); - chip::ByteSpan data; + uint8_t index = static_cast(0); + chip::CharSpan name; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace LauncherResponse +}; // namespace RenameInput } // namespace Commands namespace Attributes { -namespace CatalogList { +namespace InputList { struct TypeInfo { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList &; + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = + const chip::app::DataModel::DecodableList &; - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CatalogList::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::InputList::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CatalogList -namespace CurrentApp { +} // namespace InputList +namespace CurrentInput { struct TypeInfo { - using Type = chip::app::DataModel::Nullable; - using DecodableType = - chip::app::DataModel::Nullable; - using DecodableArgType = - const chip::app::DataModel::Nullable &; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentApp::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentInput::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CurrentApp +} // namespace CurrentInput namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } }; } // namespace ClusterRevision @@ -29198,12 +21469,12 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::CatalogList::TypeInfo::DecodableType catalogList; - Attributes::CurrentApp::TypeInfo::DecodableType currentApp; + Attributes::InputList::TypeInfo::DecodableType inputList; + Attributes::CurrentInput::TypeInfo::DecodableType currentInput = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -29212,163 +21483,214 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace ApplicationLauncher -namespace ApplicationBasic { -namespace Structs { -namespace ApplicationBasicApplication { +} // namespace MediaInput +namespace LowPower { + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace Sleep { +struct Type; +struct DecodableType; +} // namespace Sleep + +} // namespace Commands + +namespace Commands { +namespace Sleep { +enum class Fields +{ +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::Sleep::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::Sleep::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace Sleep +} // namespace Commands + +namespace Attributes { + +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } +}; +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } +}; +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } +}; +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } +}; +} // namespace ClusterRevision + +struct TypeInfo +{ + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; +}; +} // namespace Attributes +} // namespace LowPower +namespace KeypadInput { + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace SendKey { +struct Type; +struct DecodableType; +} // namespace SendKey + +namespace SendKeyResponse { +struct Type; +struct DecodableType; +} // namespace SendKeyResponse + +} // namespace Commands + +namespace Commands { +namespace SendKey { enum class Fields { - kCatalogVendorId = 0, - kApplicationId = 1, + kKeyCode = 0, }; struct Type { public: - uint16_t catalogVendorId = static_cast(0); - chip::CharSpan applicationId; - - CHIP_ERROR Decode(TLV::TLVReader & reader); + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SendKey::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } - static constexpr bool kIsFabricScoped = false; + CecKeyCode keyCode = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; -}; - -using DecodableType = Type; -} // namespace ApplicationBasicApplication -} // namespace Structs + using ResponseType = Clusters::KeypadInput::Commands::SendKeyResponse::DecodableType; -namespace Attributes { + static constexpr bool MustUseTimedInvoke() { return false; } +}; -namespace VendorName { -struct TypeInfo +struct DecodableType { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; +public: + static constexpr CommandId GetCommandId() { return Commands::SendKey::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::VendorName::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } + CecKeyCode keyCode = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace VendorName -namespace VendorID { -struct TypeInfo +}; // namespace SendKey +namespace SendKeyResponse { +enum class Fields { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::VendorID::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + kStatus = 0, }; -} // namespace VendorID -namespace ApplicationName { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ApplicationName::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } -}; -} // namespace ApplicationName -namespace ProductID { -struct TypeInfo +struct Type { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SendKeyResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ProductID::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace ProductID -namespace Application { -struct TypeInfo -{ - using Type = chip::app::Clusters::ApplicationBasic::Structs::ApplicationBasicApplication::Type; - using DecodableType = chip::app::Clusters::ApplicationBasic::Structs::ApplicationBasicApplication::DecodableType; - using DecodableArgType = const chip::app::Clusters::ApplicationBasic::Structs::ApplicationBasicApplication::DecodableType &; + KeypadInputStatusEnum status = static_cast(0); - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Application::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Application -namespace Status { -struct TypeInfo -{ - using Type = chip::app::Clusters::ApplicationBasic::ApplicationStatusEnum; - using DecodableType = chip::app::Clusters::ApplicationBasic::ApplicationStatusEnum; - using DecodableArgType = chip::app::Clusters::ApplicationBasic::ApplicationStatusEnum; + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Status::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace Status -namespace ApplicationVersion { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + using ResponseType = DataModel::NullObjectType; - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ApplicationVersion::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 32; } + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace ApplicationVersion -namespace AllowedVendorList { -struct TypeInfo + +struct DecodableType { - using Type = chip::app::DataModel::List; - using DecodableType = chip::app::DataModel::DecodableList; - using DecodableArgType = const chip::app::DataModel::DecodableList &; +public: + static constexpr CommandId GetCommandId() { return Commands::SendKeyResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::AllowedVendorList::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + KeypadInputStatusEnum status = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace AllowedVendorList +}; // namespace SendKeyResponse +} // namespace Commands + +namespace Attributes { + namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } }; } // namespace ClusterRevision @@ -29376,19 +21698,10 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::VendorName::TypeInfo::DecodableType vendorName; - Attributes::VendorID::TypeInfo::DecodableType vendorID = static_cast(0); - Attributes::ApplicationName::TypeInfo::DecodableType applicationName; - Attributes::ProductID::TypeInfo::DecodableType productID = static_cast(0); - Attributes::Application::TypeInfo::DecodableType application; - Attributes::Status::TypeInfo::DecodableType status = - static_cast(0); - Attributes::ApplicationVersion::TypeInfo::DecodableType applicationVersion; - Attributes::AllowedVendorList::TypeInfo::DecodableType allowedVendorList; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -29397,397 +21710,363 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace ApplicationBasic -namespace AccountLogin { - -namespace Commands { -// Forward-declarations so we can reference these later. +} // namespace KeypadInput +namespace ContentLauncher { +namespace Structs { +namespace Dimension { +enum class Fields +{ + kWidth = 0, + kHeight = 1, + kMetric = 2, +}; -namespace GetSetupPIN { -struct Type; -struct DecodableType; -} // namespace GetSetupPIN +struct Type +{ +public: + double width = static_cast(0); + double height = static_cast(0); + MetricTypeEnum metric = static_cast(0); -namespace GetSetupPINResponse { -struct Type; -struct DecodableType; -} // namespace GetSetupPINResponse + CHIP_ERROR Decode(TLV::TLVReader & reader); -namespace Login { -struct Type; -struct DecodableType; -} // namespace Login + static constexpr bool kIsFabricScoped = false; -namespace Logout { -struct Type; -struct DecodableType; -} // namespace Logout + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; -} // namespace Commands +using DecodableType = Type; -namespace Commands { -namespace GetSetupPIN { +} // namespace Dimension +namespace AdditionalInfo { enum class Fields { - kTempAccountIdentifier = 0, + kName = 0, + kValue = 1, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetSetupPIN::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } + chip::CharSpan name; + chip::CharSpan value; - chip::CharSpan tempAccountIdentifier; + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; - using ResponseType = Clusters::AccountLogin::Commands::GetSetupPINResponse::DecodableType; +using DecodableType = Type; - static constexpr bool MustUseTimedInvoke() { return true; } +} // namespace AdditionalInfo +namespace Parameter { +enum class Fields +{ + kType = 0, + kValue = 1, + kExternalIDList = 2, +}; + +struct Type +{ +public: + ParameterEnum type = static_cast(0); + chip::CharSpan value; + Optional> externalIDList; + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::GetSetupPIN::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } + ParameterEnum type = static_cast(0); + chip::CharSpan value; + Optional> externalIDList; - chip::CharSpan tempAccountIdentifier; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; -}; // namespace GetSetupPIN -namespace GetSetupPINResponse { + +} // namespace Parameter +namespace ContentSearch { enum class Fields { - kSetupPIN = 0, + kParameterList = 0, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetSetupPINResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } + DataModel::List parameterList; - chip::CharSpan setupPIN; + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::GetSetupPINResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } + DataModel::DecodableList parameterList; - chip::CharSpan setupPIN; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; -}; // namespace GetSetupPINResponse -namespace Login { + +} // namespace ContentSearch +namespace StyleInformation { enum class Fields { - kTempAccountIdentifier = 0, - kSetupPIN = 1, + kImageUrl = 0, + kColor = 1, + kSize = 2, }; struct Type { public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::Login::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } + Optional imageUrl; + Optional color; + Optional size; - chip::CharSpan tempAccountIdentifier; - chip::CharSpan setupPIN; + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; - using ResponseType = DataModel::NullObjectType; +using DecodableType = Type; - static constexpr bool MustUseTimedInvoke() { return true; } +} // namespace StyleInformation +namespace BrandingInformation { +enum class Fields +{ + kProviderName = 0, + kBackground = 1, + kLogo = 2, + kProgressBar = 3, + kSplash = 4, + kWaterMark = 5, }; -struct DecodableType +struct Type { public: - static constexpr CommandId GetCommandId() { return Commands::Login::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } + chip::CharSpan providerName; + Optional background; + Optional logo; + Optional progressBar; + Optional splash; + Optional waterMark; - chip::CharSpan tempAccountIdentifier; - chip::CharSpan setupPIN; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -}; // namespace Login -namespace Logout { + +using DecodableType = Type; + +} // namespace BrandingInformation +} // namespace Structs + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace LaunchContent { +struct Type; +struct DecodableType; +} // namespace LaunchContent + +namespace LaunchURL { +struct Type; +struct DecodableType; +} // namespace LaunchURL + +namespace LaunchResponse { +struct Type; +struct DecodableType; +} // namespace LaunchResponse + +} // namespace Commands + +namespace Commands { +namespace LaunchContent { enum class Fields { + kSearch = 0, + kAutoPlay = 1, + kData = 2, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::Logout::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } + static constexpr CommandId GetCommandId() { return Commands::LaunchContent::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } + + Structs::ContentSearch::Type search; + bool autoPlay = static_cast(0); + Optional data; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = DataModel::NullObjectType; + using ResponseType = Clusters::ContentLauncher::Commands::LaunchResponse::DecodableType; - static constexpr bool MustUseTimedInvoke() { return true; } + static constexpr bool MustUseTimedInvoke() { return false; } }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::Logout::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } + static constexpr CommandId GetCommandId() { return Commands::LaunchContent::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } + Structs::ContentSearch::DecodableType search; + bool autoPlay = static_cast(0); + Optional data; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace Logout -} // namespace Commands - -namespace Attributes { - -namespace GeneratedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } -}; -} // namespace GeneratedCommandList -namespace AcceptedCommandList { -struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } -}; -} // namespace AcceptedCommandList -namespace AttributeList { -struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } -}; -} // namespace AttributeList -namespace FeatureMap { -struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } -}; -} // namespace FeatureMap -namespace ClusterRevision { -struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo -{ - static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } -}; -} // namespace ClusterRevision - -struct TypeInfo +}; // namespace LaunchContent +namespace LaunchURL { +enum class Fields { - struct DecodableType - { - static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } - - CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - - Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; - Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; - Attributes::AttributeList::TypeInfo::DecodableType attributeList; - Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); - Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); - }; + kContentURL = 0, + kDisplayString = 1, + kBrandingInformation = 2, }; -} // namespace Attributes -} // namespace AccountLogin -namespace ApplianceIdentification { - -namespace Attributes { - -namespace BasicIdentification { -struct TypeInfo -{ - using Type = uint64_t; - using DecodableType = uint64_t; - using DecodableArgType = uint64_t; - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BasicIdentification::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace BasicIdentification -namespace CompanyName { -struct TypeInfo +struct Type { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::LaunchURL::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CompanyName::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } -}; -} // namespace CompanyName -namespace CompanyId { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + chip::CharSpan contentURL; + Optional displayString; + Optional brandingInformation; - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CompanyId::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace CompanyId -namespace BrandName { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BrandName::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } -}; -} // namespace BrandName -namespace BrandId { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using ResponseType = Clusters::ContentLauncher::Commands::LaunchResponse::DecodableType; - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::BrandId::Id; } - static constexpr bool MustUseTimedWrite() { return false; } + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace BrandId -namespace Model { -struct TypeInfo -{ - using Type = chip::ByteSpan; - using DecodableType = chip::ByteSpan; - using DecodableArgType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Model::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } -}; -} // namespace Model -namespace PartNumber { -struct TypeInfo +struct DecodableType { - using Type = chip::ByteSpan; - using DecodableType = chip::ByteSpan; - using DecodableArgType = chip::ByteSpan; +public: + static constexpr CommandId GetCommandId() { return Commands::LaunchURL::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PartNumber::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } + chip::CharSpan contentURL; + Optional displayString; + Optional brandingInformation; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace PartNumber -namespace ProductRevision { -struct TypeInfo +}; // namespace LaunchURL +namespace LaunchResponse { +enum class Fields { - using Type = chip::ByteSpan; - using DecodableType = chip::ByteSpan; - using DecodableArgType = chip::ByteSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ProductRevision::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 6; } + kStatus = 0, + kData = 1, }; -} // namespace ProductRevision -namespace SoftwareRevision { -struct TypeInfo + +struct Type { - using Type = chip::ByteSpan; - using DecodableType = chip::ByteSpan; - using DecodableArgType = chip::ByteSpan; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::LaunchResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SoftwareRevision::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 6; } + ContentLaunchStatusEnum status = static_cast(0); + Optional data; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace SoftwareRevision -namespace ProductTypeName { -struct TypeInfo + +struct DecodableType { - using Type = chip::ByteSpan; - using DecodableType = chip::ByteSpan; - using DecodableArgType = chip::ByteSpan; +public: + static constexpr CommandId GetCommandId() { return Commands::LaunchResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ProductTypeName::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 2; } + ContentLaunchStatusEnum status = static_cast(0); + Optional data; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace ProductTypeName -namespace ProductTypeId { +}; // namespace LaunchResponse +} // namespace Commands + +namespace Attributes { + +namespace AcceptHeader { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList &; - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ProductTypeId::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::AcceptHeader::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace ProductTypeId -namespace CecedSpecificationVersion { +} // namespace AcceptHeader +namespace SupportedStreamingProtocols { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CecedSpecificationVersion::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SupportedStreamingProtocols::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace CecedSpecificationVersion +} // namespace SupportedStreamingProtocols namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } }; } // namespace ClusterRevision @@ -29795,22 +22074,12 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::BasicIdentification::TypeInfo::DecodableType basicIdentification = static_cast(0); - Attributes::CompanyName::TypeInfo::DecodableType companyName; - Attributes::CompanyId::TypeInfo::DecodableType companyId = static_cast(0); - Attributes::BrandName::TypeInfo::DecodableType brandName; - Attributes::BrandId::TypeInfo::DecodableType brandId = static_cast(0); - Attributes::Model::TypeInfo::DecodableType model; - Attributes::PartNumber::TypeInfo::DecodableType partNumber; - Attributes::ProductRevision::TypeInfo::DecodableType productRevision; - Attributes::SoftwareRevision::TypeInfo::DecodableType softwareRevision; - Attributes::ProductTypeName::TypeInfo::DecodableType productTypeName; - Attributes::ProductTypeId::TypeInfo::DecodableType productTypeId = static_cast(0); - Attributes::CecedSpecificationVersion::TypeInfo::DecodableType cecedSpecificationVersion = static_cast(0); + Attributes::AcceptHeader::TypeInfo::DecodableType acceptHeader; + Attributes::SupportedStreamingProtocols::TypeInfo::DecodableType supportedStreamingProtocols = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -29819,191 +22088,176 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace ApplianceIdentification -namespace MeterIdentification { - -namespace Attributes { - -namespace CompanyName { -struct TypeInfo +} // namespace ContentLauncher +namespace AudioOutput { +namespace Structs { +namespace OutputInfo { +enum class Fields { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CompanyName::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } + kIndex = 0, + kOutputType = 1, + kName = 2, }; -} // namespace CompanyName -namespace MeterTypeId { -struct TypeInfo -{ - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::MeterTypeId::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace MeterTypeId -namespace DataQualityId { -struct TypeInfo +struct Type { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; +public: + uint8_t index = static_cast(0); + OutputTypeEnum outputType = static_cast(0); + chip::CharSpan name; - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DataQualityId::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace DataQualityId -namespace CustomerName { -struct TypeInfo -{ - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; + CHIP_ERROR Decode(TLV::TLVReader & reader); - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CustomerName::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; -} // namespace CustomerName -namespace Model { -struct TypeInfo -{ - using Type = chip::ByteSpan; - using DecodableType = chip::ByteSpan; - using DecodableArgType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Model::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } +using DecodableType = Type; + +} // namespace OutputInfo +} // namespace Structs + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace SelectOutput { +struct Type; +struct DecodableType; +} // namespace SelectOutput + +namespace RenameOutput { +struct Type; +struct DecodableType; +} // namespace RenameOutput + +} // namespace Commands + +namespace Commands { +namespace SelectOutput { +enum class Fields +{ + kIndex = 0, }; -} // namespace Model -namespace PartNumber { -struct TypeInfo + +struct Type { - using Type = chip::ByteSpan; - using DecodableType = chip::ByteSpan; - using DecodableArgType = chip::ByteSpan; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SelectOutput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PartNumber::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } + uint8_t index = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace PartNumber -namespace ProductRevision { -struct TypeInfo + +struct DecodableType { - using Type = chip::ByteSpan; - using DecodableType = chip::ByteSpan; - using DecodableArgType = chip::ByteSpan; +public: + static constexpr CommandId GetCommandId() { return Commands::SelectOutput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::ProductRevision::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 6; } + uint8_t index = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace ProductRevision -namespace SoftwareRevision { -struct TypeInfo +}; // namespace SelectOutput +namespace RenameOutput { +enum class Fields { - using Type = chip::ByteSpan; - using DecodableType = chip::ByteSpan; - using DecodableArgType = chip::ByteSpan; - - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::SoftwareRevision::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 6; } + kIndex = 0, + kName = 1, }; -} // namespace SoftwareRevision -namespace UtilityName { -struct TypeInfo + +struct Type { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::RenameOutput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::UtilityName::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } + uint8_t index = static_cast(0); + chip::CharSpan name; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } }; -} // namespace UtilityName -namespace Pod { -struct TypeInfo + +struct DecodableType { - using Type = chip::CharSpan; - using DecodableType = chip::CharSpan; - using DecodableArgType = chip::CharSpan; +public: + static constexpr CommandId GetCommandId() { return Commands::RenameOutput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::Pod::Id; } - static constexpr bool MustUseTimedWrite() { return false; } - static constexpr size_t MaxLength() { return 16; } + uint8_t index = static_cast(0); + chip::CharSpan name; + CHIP_ERROR Decode(TLV::TLVReader & reader); }; -} // namespace Pod -namespace AvailablePower { +}; // namespace RenameOutput +} // namespace Commands + +namespace Attributes { + +namespace OutputList { struct TypeInfo { - using Type = int32_t; - using DecodableType = int32_t; - using DecodableArgType = int32_t; + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = + const chip::app::DataModel::DecodableList &; - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::AvailablePower::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OutputList::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace AvailablePower -namespace PowerThreshold { +} // namespace OutputList +namespace CurrentOutput { struct TypeInfo { - using Type = int32_t; - using DecodableType = int32_t; - using DecodableArgType = int32_t; + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::PowerThreshold::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentOutput::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace PowerThreshold +} // namespace CurrentOutput namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } }; } // namespace ClusterRevision @@ -30011,22 +22265,12 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::CompanyName::TypeInfo::DecodableType companyName; - Attributes::MeterTypeId::TypeInfo::DecodableType meterTypeId = static_cast(0); - Attributes::DataQualityId::TypeInfo::DecodableType dataQualityId = static_cast(0); - Attributes::CustomerName::TypeInfo::DecodableType customerName; - Attributes::Model::TypeInfo::DecodableType model; - Attributes::PartNumber::TypeInfo::DecodableType partNumber; - Attributes::ProductRevision::TypeInfo::DecodableType productRevision; - Attributes::SoftwareRevision::TypeInfo::DecodableType softwareRevision; - Attributes::UtilityName::TypeInfo::DecodableType utilityName; - Attributes::Pod::TypeInfo::DecodableType pod; - Attributes::AvailablePower::TypeInfo::DecodableType availablePower = static_cast(0); - Attributes::PowerThreshold::TypeInfo::DecodableType powerThreshold = static_cast(0); + Attributes::OutputList::TypeInfo::DecodableType outputList; + Attributes::CurrentOutput::TypeInfo::DecodableType currentOutput = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -30035,50 +22279,103 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace MeterIdentification -namespace ApplianceEventsAndAlert { +} // namespace AudioOutput +namespace ApplicationLauncher { +namespace Structs { +namespace Application { +enum class Fields +{ + kCatalogVendorId = 0, + kApplicationId = 1, +}; + +struct Type +{ +public: + uint16_t catalogVendorId = static_cast(0); + chip::CharSpan applicationId; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +using DecodableType = Type; + +} // namespace Application +namespace ApplicationEP { +enum class Fields +{ + kApplication = 0, + kEndpoint = 1, +}; + +struct Type +{ +public: + Structs::Application::Type application; + Optional endpoint; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +using DecodableType = Type; + +} // namespace ApplicationEP +} // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. -namespace GetAlerts { +namespace LaunchApp { struct Type; struct DecodableType; -} // namespace GetAlerts +} // namespace LaunchApp -namespace GetAlertsResponse { +namespace StopApp { struct Type; struct DecodableType; -} // namespace GetAlertsResponse +} // namespace StopApp -namespace AlertsNotification { +namespace HideApp { struct Type; struct DecodableType; -} // namespace AlertsNotification +} // namespace HideApp -namespace EventsNotification { +namespace LauncherResponse { struct Type; struct DecodableType; -} // namespace EventsNotification +} // namespace LauncherResponse } // namespace Commands namespace Commands { -namespace GetAlerts { +namespace LaunchApp { enum class Fields { + kApplication = 0, + kData = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetAlerts::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } + static constexpr CommandId GetCommandId() { return Commands::LaunchApp::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + + Structs::Application::Type application; + Optional data; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::ApplianceEventsAndAlert::Commands::GetAlertsResponse::DecodableType; + using ResponseType = Clusters::ApplicationLauncher::Commands::LauncherResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -30086,32 +22383,64 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::GetAlerts::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } + static constexpr CommandId GetCommandId() { return Commands::LaunchApp::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + Structs::Application::DecodableType application; + Optional data; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace GetAlerts -namespace GetAlertsResponse { +}; // namespace LaunchApp +namespace StopApp { enum class Fields { - kAlertsCount = 0, - kAlertStructures = 1, + kApplication = 0, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::GetAlertsResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } + static constexpr CommandId GetCommandId() { return Commands::StopApp::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } - chip::BitMask alertsCount = static_cast>(0); - DataModel::List> alertStructures; + Structs::Application::Type application; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = DataModel::NullObjectType; + using ResponseType = Clusters::ApplicationLauncher::Commands::LauncherResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::StopApp::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + + Structs::Application::DecodableType application; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace StopApp +namespace HideApp { +enum class Fields +{ + kApplication = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::HideApp::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + + Structs::Application::Type application; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = Clusters::ApplicationLauncher::Commands::LauncherResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -30119,116 +22448,284 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::GetAlertsResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } + static constexpr CommandId GetCommandId() { return Commands::HideApp::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } - chip::BitMask alertsCount = static_cast>(0); - DataModel::DecodableList> alertStructures; + Structs::Application::DecodableType application; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace GetAlertsResponse -namespace AlertsNotification { +}; // namespace HideApp +namespace LauncherResponse { enum class Fields { - kAlertsCount = 0, - kAlertStructures = 1, + kStatus = 0, + kData = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::AlertsNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } + static constexpr CommandId GetCommandId() { return Commands::LauncherResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + + ApplicationLauncherStatusEnum status = static_cast(0); + chip::ByteSpan data; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::LauncherResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + + ApplicationLauncherStatusEnum status = static_cast(0); + chip::ByteSpan data; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace LauncherResponse +} // namespace Commands + +namespace Attributes { + +namespace CatalogList { +struct TypeInfo +{ + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList &; + + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CatalogList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace CatalogList +namespace CurrentApp { +struct TypeInfo +{ + using Type = chip::app::DataModel::Nullable; + using DecodableType = + chip::app::DataModel::Nullable; + using DecodableArgType = + const chip::app::DataModel::Nullable &; + + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentApp::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace CurrentApp +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } +}; +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } +}; +} // namespace AcceptedCommandList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } +}; +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } +}; +} // namespace ClusterRevision + +struct TypeInfo +{ + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::CatalogList::TypeInfo::DecodableType catalogList; + Attributes::CurrentApp::TypeInfo::DecodableType currentApp; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; +}; +} // namespace Attributes +} // namespace ApplicationLauncher +namespace ApplicationBasic { +namespace Structs { +namespace ApplicationBasicApplication { +enum class Fields +{ + kCatalogVendorId = 0, + kApplicationId = 1, +}; + +struct Type +{ +public: + uint16_t catalogVendorId = static_cast(0); + chip::CharSpan applicationId; - chip::BitMask alertsCount = static_cast>(0); - DataModel::List> alertStructures; + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; - using ResponseType = DataModel::NullObjectType; +using DecodableType = Type; - static constexpr bool MustUseTimedInvoke() { return false; } -}; +} // namespace ApplicationBasicApplication +} // namespace Structs -struct DecodableType +namespace Attributes { + +namespace VendorName { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::AlertsNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - chip::BitMask alertsCount = static_cast>(0); - DataModel::DecodableList> alertStructures; - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::VendorName::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 32; } }; -}; // namespace AlertsNotification -namespace EventsNotification { -enum class Fields +} // namespace VendorName +namespace VendorID { +struct TypeInfo { - kEventHeader = 0, - kEventId = 1, -}; + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; -struct Type + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::VendorID::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace VendorID +namespace ApplicationName { +struct TypeInfo { -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::EventsNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } - - uint8_t eventHeader = static_cast(0); - EventIdentification eventId = static_cast(0); - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; - using ResponseType = DataModel::NullObjectType; + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ApplicationName::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 32; } +}; +} // namespace ApplicationName +namespace ProductID { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ProductID::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; +} // namespace ProductID +namespace Application { +struct TypeInfo +{ + using Type = chip::app::Clusters::ApplicationBasic::Structs::ApplicationBasicApplication::Type; + using DecodableType = chip::app::Clusters::ApplicationBasic::Structs::ApplicationBasicApplication::DecodableType; + using DecodableArgType = const chip::app::Clusters::ApplicationBasic::Structs::ApplicationBasicApplication::DecodableType &; -struct DecodableType + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Application::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace Application +namespace Status { +struct TypeInfo { -public: - static constexpr CommandId GetCommandId() { return Commands::EventsNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } + using Type = chip::app::Clusters::ApplicationBasic::ApplicationStatusEnum; + using DecodableType = chip::app::Clusters::ApplicationBasic::ApplicationStatusEnum; + using DecodableArgType = chip::app::Clusters::ApplicationBasic::ApplicationStatusEnum; - uint8_t eventHeader = static_cast(0); - EventIdentification eventId = static_cast(0); - CHIP_ERROR Decode(TLV::TLVReader & reader); + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Status::Id; } + static constexpr bool MustUseTimedWrite() { return false; } }; -}; // namespace EventsNotification -} // namespace Commands +} // namespace Status +namespace ApplicationVersion { +struct TypeInfo +{ + using Type = chip::CharSpan; + using DecodableType = chip::CharSpan; + using DecodableArgType = chip::CharSpan; -namespace Attributes { + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ApplicationVersion::Id; } + static constexpr bool MustUseTimedWrite() { return false; } + static constexpr size_t MaxLength() { return 32; } +}; +} // namespace ApplicationVersion +namespace AllowedVendorList { +struct TypeInfo +{ + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList &; + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::AllowedVendorList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace AllowedVendorList namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } }; } // namespace ClusterRevision @@ -30236,10 +22733,19 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + Attributes::VendorName::TypeInfo::DecodableType vendorName; + Attributes::VendorID::TypeInfo::DecodableType vendorID = static_cast(0); + Attributes::ApplicationName::TypeInfo::DecodableType applicationName; + Attributes::ProductID::TypeInfo::DecodableType productID = static_cast(0); + Attributes::Application::TypeInfo::DecodableType application; + Attributes::Status::TypeInfo::DecodableType status = + static_cast(0); + Attributes::ApplicationVersion::TypeInfo::DecodableType applicationVersion; + Attributes::AllowedVendorList::TypeInfo::DecodableType allowedVendorList; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -30248,138 +22754,81 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace ApplianceEventsAndAlert -namespace ApplianceStatistics { +} // namespace ApplicationBasic +namespace AccountLogin { namespace Commands { // Forward-declarations so we can reference these later. -namespace LogNotification { -struct Type; -struct DecodableType; -} // namespace LogNotification - -namespace LogRequest { -struct Type; -struct DecodableType; -} // namespace LogRequest - -namespace LogResponse { +namespace GetSetupPIN { struct Type; struct DecodableType; -} // namespace LogResponse +} // namespace GetSetupPIN -namespace LogQueueRequest { +namespace GetSetupPINResponse { struct Type; struct DecodableType; -} // namespace LogQueueRequest +} // namespace GetSetupPINResponse -namespace LogQueueResponse { +namespace Login { struct Type; struct DecodableType; -} // namespace LogQueueResponse +} // namespace Login -namespace StatisticsAvailable { +namespace Logout { struct Type; struct DecodableType; -} // namespace StatisticsAvailable +} // namespace Logout } // namespace Commands namespace Commands { -namespace LogNotification { -enum class Fields -{ - kTimeStamp = 0, - kLogId = 1, - kLogLength = 2, - kLogPayload = 3, -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::LogNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } - - uint32_t timeStamp = static_cast(0); - uint32_t logId = static_cast(0); - uint32_t logLength = static_cast(0); - DataModel::List logPayload; - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = DataModel::NullObjectType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::LogNotification::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } - - uint32_t timeStamp = static_cast(0); - uint32_t logId = static_cast(0); - uint32_t logLength = static_cast(0); - DataModel::DecodableList logPayload; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace LogNotification -namespace LogRequest { +namespace GetSetupPIN { enum class Fields { - kLogId = 0, + kTempAccountIdentifier = 0, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::LogRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } + static constexpr CommandId GetCommandId() { return Commands::GetSetupPIN::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } - uint32_t logId = static_cast(0); + chip::CharSpan tempAccountIdentifier; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - using ResponseType = Clusters::ApplianceStatistics::Commands::LogResponse::DecodableType; + using ResponseType = Clusters::AccountLogin::Commands::GetSetupPINResponse::DecodableType; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr bool MustUseTimedInvoke() { return true; } }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::LogRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } + static constexpr CommandId GetCommandId() { return Commands::GetSetupPIN::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } - uint32_t logId = static_cast(0); + chip::CharSpan tempAccountIdentifier; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace LogRequest -namespace LogResponse { +}; // namespace GetSetupPIN +namespace GetSetupPINResponse { enum class Fields { - kTimeStamp = 0, - kLogId = 1, - kLogLength = 2, - kLogPayload = 3, + kSetupPIN = 0, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::LogResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } + static constexpr CommandId GetCommandId() { return Commands::GetSetupPINResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } - uint32_t timeStamp = static_cast(0); - uint32_t logId = static_cast(0); - uint32_t logLength = static_cast(0); - DataModel::List logPayload; + chip::CharSpan setupPIN; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -30391,170 +22840,108 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::LogResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } - - uint32_t timeStamp = static_cast(0); - uint32_t logId = static_cast(0); - uint32_t logLength = static_cast(0); - DataModel::DecodableList logPayload; - CHIP_ERROR Decode(TLV::TLVReader & reader); -}; -}; // namespace LogResponse -namespace LogQueueRequest { -enum class Fields -{ -}; - -struct Type -{ -public: - // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::LogQueueRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } - - CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; - - using ResponseType = Clusters::ApplianceStatistics::Commands::LogQueueResponse::DecodableType; - - static constexpr bool MustUseTimedInvoke() { return false; } -}; - -struct DecodableType -{ -public: - static constexpr CommandId GetCommandId() { return Commands::LogQueueRequest::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } + static constexpr CommandId GetCommandId() { return Commands::GetSetupPINResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } + chip::CharSpan setupPIN; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace LogQueueRequest -namespace LogQueueResponse { +}; // namespace GetSetupPINResponse +namespace Login { enum class Fields { - kLogQueueSize = 0, - kLogIds = 1, + kTempAccountIdentifier = 0, + kSetupPIN = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::LogQueueResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } + static constexpr CommandId GetCommandId() { return Commands::Login::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } - uint8_t logQueueSize = static_cast(0); - DataModel::List logIds; + chip::CharSpan tempAccountIdentifier; + chip::CharSpan setupPIN; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; using ResponseType = DataModel::NullObjectType; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr bool MustUseTimedInvoke() { return true; } }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::LogQueueResponse::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } + static constexpr CommandId GetCommandId() { return Commands::Login::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } - uint8_t logQueueSize = static_cast(0); - DataModel::DecodableList logIds; + chip::CharSpan tempAccountIdentifier; + chip::CharSpan setupPIN; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace LogQueueResponse -namespace StatisticsAvailable { +}; // namespace Login +namespace Logout { enum class Fields { - kLogQueueSize = 0, - kLogIds = 1, }; struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::StatisticsAvailable::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } - - uint8_t logQueueSize = static_cast(0); - DataModel::List logIds; + static constexpr CommandId GetCommandId() { return Commands::Logout::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; using ResponseType = DataModel::NullObjectType; - static constexpr bool MustUseTimedInvoke() { return false; } + static constexpr bool MustUseTimedInvoke() { return true; } }; struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::StatisticsAvailable::Id; } - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } + static constexpr CommandId GetCommandId() { return Commands::Logout::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } - uint8_t logQueueSize = static_cast(0); - DataModel::DecodableList logIds; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace StatisticsAvailable +}; // namespace Logout } // namespace Commands namespace Attributes { -namespace LogMaxSize { -struct TypeInfo -{ - using Type = uint32_t; - using DecodableType = uint32_t; - using DecodableArgType = uint32_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LogMaxSize::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace LogMaxSize -namespace LogQueueMaxSize { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; - - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LogQueueMaxSize::Id; } - static constexpr bool MustUseTimedWrite() { return false; } -}; -} // namespace LogQueueMaxSize namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } }; } // namespace GeneratedCommandList namespace AcceptedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } }; } // namespace AcceptedCommandList namespace AttributeList { struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } }; } // namespace AttributeList namespace FeatureMap { struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } }; } // namespace FeatureMap namespace ClusterRevision { struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } }; } // namespace ClusterRevision @@ -30562,12 +22949,10 @@ struct TypeInfo { struct DecodableType { - static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); - Attributes::LogMaxSize::TypeInfo::DecodableType logMaxSize = static_cast(0); - Attributes::LogQueueMaxSize::TypeInfo::DecodableType logQueueMaxSize = static_cast(0); Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; @@ -30576,7 +22961,7 @@ struct TypeInfo }; }; } // namespace Attributes -} // namespace ApplianceStatistics +} // namespace AccountLogin namespace ElectricalMeasurement { namespace Commands { diff --git a/zzz_generated/app-common/app-common/zap-generated/command-id.h b/zzz_generated/app-common/app-common/zap-generated/command-id.h index 916f289b60a360..de1c7cb5275f32 100644 --- a/zzz_generated/app-common/app-common/zap-generated/command-id.h +++ b/zzz_generated/app-common/app-common/zap-generated/command-id.h @@ -88,54 +88,6 @@ #define ZCL_STOP_WITH_ON_OFF_COMMAND_ID (0x07) #define ZCL_MOVE_TO_CLOSEST_FREQUENCY_COMMAND_ID (0x08) -// Commands for cluster: Alarms -#define ZCL_RESET_ALARM_COMMAND_ID (0x00) -#define ZCL_ALARM_COMMAND_ID (0x00) -#define ZCL_RESET_ALL_ALARMS_COMMAND_ID (0x01) -#define ZCL_GET_ALARM_RESPONSE_COMMAND_ID (0x01) -#define ZCL_GET_ALARM_COMMAND_ID (0x02) -#define ZCL_RESET_ALARM_LOG_COMMAND_ID (0x03) - -// Commands for cluster: Power Profile -#define ZCL_POWER_PROFILE_REQUEST_COMMAND_ID (0x00) -#define ZCL_POWER_PROFILE_NOTIFICATION_COMMAND_ID (0x00) -#define ZCL_POWER_PROFILE_STATE_REQUEST_COMMAND_ID (0x01) -#define ZCL_POWER_PROFILE_RESPONSE_COMMAND_ID (0x01) -#define ZCL_GET_POWER_PROFILE_PRICE_RESPONSE_COMMAND_ID (0x02) -#define ZCL_POWER_PROFILE_STATE_RESPONSE_COMMAND_ID (0x02) -#define ZCL_GET_OVERALL_SCHEDULE_PRICE_RESPONSE_COMMAND_ID (0x03) -#define ZCL_GET_POWER_PROFILE_PRICE_COMMAND_ID (0x03) -#define ZCL_ENERGY_PHASES_SCHEDULE_NOTIFICATION_COMMAND_ID (0x04) -#define ZCL_POWER_PROFILES_STATE_NOTIFICATION_COMMAND_ID (0x04) -#define ZCL_ENERGY_PHASES_SCHEDULE_RESPONSE_COMMAND_ID (0x05) -#define ZCL_GET_OVERALL_SCHEDULE_PRICE_COMMAND_ID (0x05) -#define ZCL_POWER_PROFILE_SCHEDULE_CONSTRAINTS_REQUEST_COMMAND_ID (0x06) -#define ZCL_ENERGY_PHASES_SCHEDULE_REQUEST_COMMAND_ID (0x06) -#define ZCL_ENERGY_PHASES_SCHEDULE_STATE_REQUEST_COMMAND_ID (0x07) -#define ZCL_ENERGY_PHASES_SCHEDULE_STATE_RESPONSE_COMMAND_ID (0x07) -#define ZCL_GET_POWER_PROFILE_PRICE_EXTENDED_RESPONSE_COMMAND_ID (0x08) -#define ZCL_ENERGY_PHASES_SCHEDULE_STATE_NOTIFICATION_COMMAND_ID (0x08) -#define ZCL_POWER_PROFILE_SCHEDULE_CONSTRAINTS_NOTIFICATION_COMMAND_ID (0x09) -#define ZCL_POWER_PROFILE_SCHEDULE_CONSTRAINTS_RESPONSE_COMMAND_ID (0x0A) -#define ZCL_GET_POWER_PROFILE_PRICE_EXTENDED_COMMAND_ID (0x0B) - -// Commands for cluster: Appliance Control -#define ZCL_EXECUTION_OF_A_COMMAND_COMMAND_ID (0x00) -#define ZCL_SIGNAL_STATE_RESPONSE_COMMAND_ID (0x00) -#define ZCL_SIGNAL_STATE_COMMAND_ID (0x01) -#define ZCL_SIGNAL_STATE_NOTIFICATION_COMMAND_ID (0x01) -#define ZCL_WRITE_FUNCTIONS_COMMAND_ID (0x02) -#define ZCL_OVERLOAD_PAUSE_RESUME_COMMAND_ID (0x03) -#define ZCL_OVERLOAD_PAUSE_COMMAND_ID (0x04) -#define ZCL_OVERLOAD_WARNING_COMMAND_ID (0x05) - -// Commands for cluster: Poll Control -#define ZCL_CHECK_IN_COMMAND_ID (0x00) -#define ZCL_CHECK_IN_RESPONSE_COMMAND_ID (0x00) -#define ZCL_FAST_POLL_STOP_COMMAND_ID (0x01) -#define ZCL_SET_LONG_POLL_INTERVAL_COMMAND_ID (0x02) -#define ZCL_SET_SHORT_POLL_INTERVAL_COMMAND_ID (0x03) - // Commands for cluster: Bridged Actions #define ZCL_INSTANT_ACTION_COMMAND_ID (0x00) #define ZCL_INSTANT_ACTION_WITH_TRANSITION_COMMAND_ID (0x01) @@ -356,20 +308,6 @@ #define ZCL_LOGIN_COMMAND_ID (0x02) #define ZCL_LOGOUT_COMMAND_ID (0x03) -// Commands for cluster: Appliance Events and Alert -#define ZCL_GET_ALERTS_COMMAND_ID (0x00) -#define ZCL_GET_ALERTS_RESPONSE_COMMAND_ID (0x00) -#define ZCL_ALERTS_NOTIFICATION_COMMAND_ID (0x01) -#define ZCL_EVENTS_NOTIFICATION_COMMAND_ID (0x02) - -// Commands for cluster: Appliance Statistics -#define ZCL_LOG_NOTIFICATION_COMMAND_ID (0x00) -#define ZCL_LOG_REQUEST_COMMAND_ID (0x00) -#define ZCL_LOG_RESPONSE_COMMAND_ID (0x01) -#define ZCL_LOG_QUEUE_REQUEST_COMMAND_ID (0x01) -#define ZCL_LOG_QUEUE_RESPONSE_COMMAND_ID (0x02) -#define ZCL_STATISTICS_AVAILABLE_COMMAND_ID (0x03) - // Commands for cluster: Electrical Measurement #define ZCL_GET_PROFILE_INFO_RESPONSE_COMMAND_COMMAND_ID (0x00) #define ZCL_GET_PROFILE_INFO_COMMAND_COMMAND_ID (0x00) diff --git a/zzz_generated/app-common/app-common/zap-generated/enums.h b/zzz_generated/app-common/app-common/zap-generated/enums.h index dce2505e4ea734..2f2c60bf900c46 100644 --- a/zzz_generated/app-common/app-common/zap-generated/enums.h +++ b/zzz_generated/app-common/app-common/zap-generated/enums.h @@ -341,16 +341,6 @@ enum EmberAfWiFiVersionType : uint8_t #define EMBER_AF_ALARM_MASK_GENERAL_HW_FAULT_OFFSET (0) #define EMBER_AF_ALARM_MASK_GENERAL_SW_FAULT (2) #define EMBER_AF_ALARM_MASK_GENERAL_SW_FAULT_OFFSET (1) -#define EMBER_AF_ALERT_COUNT_NUMBER_OF_ALERTS (15) -#define EMBER_AF_ALERT_COUNT_NUMBER_OF_ALERTS_OFFSET (0) -#define EMBER_AF_ALERT_COUNT_TYPE_OF_ALERT (240) -#define EMBER_AF_ALERT_COUNT_TYPE_OF_ALERT_OFFSET (4) -#define EMBER_AF_ALERT_STRUCTURE_ALERT_ID (255) -#define EMBER_AF_ALERT_STRUCTURE_ALERT_ID_OFFSET (0) -#define EMBER_AF_ALERT_STRUCTURE_CATEGORY (3840) -#define EMBER_AF_ALERT_STRUCTURE_CATEGORY_OFFSET (8) -#define EMBER_AF_ALERT_STRUCTURE_PRESENCE_RECOVERY (12288) -#define EMBER_AF_ALERT_STRUCTURE_PRESENCE_RECOVERY_OFFSET (12) #define EMBER_AF_APPLICATION_LAUNCHER_FEATURE_APPLICATION_PLATFORM (1) #define EMBER_AF_APPLICATION_LAUNCHER_FEATURE_APPLICATION_PLATFORM_OFFSET (0) #define EMBER_AF_AUDIO_OUTPUT_FEATURE_NAME_UPDATES (1) @@ -821,10 +811,6 @@ enum EmberAfWiFiVersionType : uint8_t #define EMBER_AF_PUMP_STATUS_REMOTE_FLOW_OFFSET (7) #define EMBER_AF_PUMP_STATUS_REMOTE_TEMPERATURE (256) #define EMBER_AF_PUMP_STATUS_REMOTE_TEMPERATURE_OFFSET (8) -#define EMBER_AF_REMOTE_ENABLE_FLAGS_AND_DEVICE_STATUS2_REMOTE_ENABLE_FLAGS (15) -#define EMBER_AF_REMOTE_ENABLE_FLAGS_AND_DEVICE_STATUS2_REMOTE_ENABLE_FLAGS_OFFSET (0) -#define EMBER_AF_REMOTE_ENABLE_FLAGS_AND_DEVICE_STATUS2_DEVICE_STATUS2_STRUCTURE (240) -#define EMBER_AF_REMOTE_ENABLE_FLAGS_AND_DEVICE_STATUS2_DEVICE_STATUS2_STRUCTURE_OFFSET (4) #define EMBER_AF_ROCK_SUPPORT_MASK_ROCK_LEFT_RIGHT (1) #define EMBER_AF_ROCK_SUPPORT_MASK_ROCK_LEFT_RIGHT_OFFSET (0) #define EMBER_AF_ROCK_SUPPORT_MASK_ROCK_UP_DOWN (2) diff --git a/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h b/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h index ff018c33ffa802..cf351b73924d4f 100644 --- a/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h +++ b/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h @@ -51,322 +51,6 @@ static constexpr AttributeId Id = 0x0000FFFD; } // namespace Attributes } // namespace Globals -namespace PowerConfiguration { -namespace Attributes { - -namespace MainsVoltage { -static constexpr AttributeId Id = 0x00000000; -} // namespace MainsVoltage - -namespace MainsFrequency { -static constexpr AttributeId Id = 0x00000001; -} // namespace MainsFrequency - -namespace MainsAlarmMask { -static constexpr AttributeId Id = 0x00000010; -} // namespace MainsAlarmMask - -namespace MainsVoltageMinThreshold { -static constexpr AttributeId Id = 0x00000011; -} // namespace MainsVoltageMinThreshold - -namespace MainsVoltageMaxThreshold { -static constexpr AttributeId Id = 0x00000012; -} // namespace MainsVoltageMaxThreshold - -namespace MainsVoltageDwellTrip { -static constexpr AttributeId Id = 0x00000013; -} // namespace MainsVoltageDwellTrip - -namespace BatteryVoltage { -static constexpr AttributeId Id = 0x00000020; -} // namespace BatteryVoltage - -namespace BatteryPercentageRemaining { -static constexpr AttributeId Id = 0x00000021; -} // namespace BatteryPercentageRemaining - -namespace BatteryManufacturer { -static constexpr AttributeId Id = 0x00000030; -} // namespace BatteryManufacturer - -namespace BatterySize { -static constexpr AttributeId Id = 0x00000031; -} // namespace BatterySize - -namespace BatteryAhrRating { -static constexpr AttributeId Id = 0x00000032; -} // namespace BatteryAhrRating - -namespace BatteryQuantity { -static constexpr AttributeId Id = 0x00000033; -} // namespace BatteryQuantity - -namespace BatteryRatedVoltage { -static constexpr AttributeId Id = 0x00000034; -} // namespace BatteryRatedVoltage - -namespace BatteryAlarmMask { -static constexpr AttributeId Id = 0x00000035; -} // namespace BatteryAlarmMask - -namespace BatteryVoltageMinThreshold { -static constexpr AttributeId Id = 0x00000036; -} // namespace BatteryVoltageMinThreshold - -namespace BatteryVoltageThreshold1 { -static constexpr AttributeId Id = 0x00000037; -} // namespace BatteryVoltageThreshold1 - -namespace BatteryVoltageThreshold2 { -static constexpr AttributeId Id = 0x00000038; -} // namespace BatteryVoltageThreshold2 - -namespace BatteryVoltageThreshold3 { -static constexpr AttributeId Id = 0x00000039; -} // namespace BatteryVoltageThreshold3 - -namespace BatteryPercentageMinThreshold { -static constexpr AttributeId Id = 0x0000003A; -} // namespace BatteryPercentageMinThreshold - -namespace BatteryPercentageThreshold1 { -static constexpr AttributeId Id = 0x0000003B; -} // namespace BatteryPercentageThreshold1 - -namespace BatteryPercentageThreshold2 { -static constexpr AttributeId Id = 0x0000003C; -} // namespace BatteryPercentageThreshold2 - -namespace BatteryPercentageThreshold3 { -static constexpr AttributeId Id = 0x0000003D; -} // namespace BatteryPercentageThreshold3 - -namespace BatteryAlarmState { -static constexpr AttributeId Id = 0x0000003E; -} // namespace BatteryAlarmState - -namespace Battery2Voltage { -static constexpr AttributeId Id = 0x00000040; -} // namespace Battery2Voltage - -namespace Battery2PercentageRemaining { -static constexpr AttributeId Id = 0x00000041; -} // namespace Battery2PercentageRemaining - -namespace Battery2Manufacturer { -static constexpr AttributeId Id = 0x00000050; -} // namespace Battery2Manufacturer - -namespace Battery2Size { -static constexpr AttributeId Id = 0x00000051; -} // namespace Battery2Size - -namespace Battery2AhrRating { -static constexpr AttributeId Id = 0x00000052; -} // namespace Battery2AhrRating - -namespace Battery2Quantity { -static constexpr AttributeId Id = 0x00000053; -} // namespace Battery2Quantity - -namespace Battery2RatedVoltage { -static constexpr AttributeId Id = 0x00000054; -} // namespace Battery2RatedVoltage - -namespace Battery2AlarmMask { -static constexpr AttributeId Id = 0x00000055; -} // namespace Battery2AlarmMask - -namespace Battery2VoltageMinThreshold { -static constexpr AttributeId Id = 0x00000056; -} // namespace Battery2VoltageMinThreshold - -namespace Battery2VoltageThreshold1 { -static constexpr AttributeId Id = 0x00000057; -} // namespace Battery2VoltageThreshold1 - -namespace Battery2VoltageThreshold2 { -static constexpr AttributeId Id = 0x00000058; -} // namespace Battery2VoltageThreshold2 - -namespace Battery2VoltageThreshold3 { -static constexpr AttributeId Id = 0x00000059; -} // namespace Battery2VoltageThreshold3 - -namespace Battery2PercentageMinThreshold { -static constexpr AttributeId Id = 0x0000005A; -} // namespace Battery2PercentageMinThreshold - -namespace Battery2PercentageThreshold1 { -static constexpr AttributeId Id = 0x0000005B; -} // namespace Battery2PercentageThreshold1 - -namespace Battery2PercentageThreshold2 { -static constexpr AttributeId Id = 0x0000005C; -} // namespace Battery2PercentageThreshold2 - -namespace Battery2PercentageThreshold3 { -static constexpr AttributeId Id = 0x0000005D; -} // namespace Battery2PercentageThreshold3 - -namespace Battery2AlarmState { -static constexpr AttributeId Id = 0x0000005E; -} // namespace Battery2AlarmState - -namespace Battery3Voltage { -static constexpr AttributeId Id = 0x00000060; -} // namespace Battery3Voltage - -namespace Battery3PercentageRemaining { -static constexpr AttributeId Id = 0x00000061; -} // namespace Battery3PercentageRemaining - -namespace Battery3Manufacturer { -static constexpr AttributeId Id = 0x00000070; -} // namespace Battery3Manufacturer - -namespace Battery3Size { -static constexpr AttributeId Id = 0x00000071; -} // namespace Battery3Size - -namespace Battery3AhrRating { -static constexpr AttributeId Id = 0x00000072; -} // namespace Battery3AhrRating - -namespace Battery3Quantity { -static constexpr AttributeId Id = 0x00000073; -} // namespace Battery3Quantity - -namespace Battery3RatedVoltage { -static constexpr AttributeId Id = 0x00000074; -} // namespace Battery3RatedVoltage - -namespace Battery3AlarmMask { -static constexpr AttributeId Id = 0x00000075; -} // namespace Battery3AlarmMask - -namespace Battery3VoltageMinThreshold { -static constexpr AttributeId Id = 0x00000076; -} // namespace Battery3VoltageMinThreshold - -namespace Battery3VoltageThreshold1 { -static constexpr AttributeId Id = 0x00000077; -} // namespace Battery3VoltageThreshold1 - -namespace Battery3VoltageThreshold2 { -static constexpr AttributeId Id = 0x00000078; -} // namespace Battery3VoltageThreshold2 - -namespace Battery3VoltageThreshold3 { -static constexpr AttributeId Id = 0x00000079; -} // namespace Battery3VoltageThreshold3 - -namespace Battery3PercentageMinThreshold { -static constexpr AttributeId Id = 0x0000007A; -} // namespace Battery3PercentageMinThreshold - -namespace Battery3PercentageThreshold1 { -static constexpr AttributeId Id = 0x0000007B; -} // namespace Battery3PercentageThreshold1 - -namespace Battery3PercentageThreshold2 { -static constexpr AttributeId Id = 0x0000007C; -} // namespace Battery3PercentageThreshold2 - -namespace Battery3PercentageThreshold3 { -static constexpr AttributeId Id = 0x0000007D; -} // namespace Battery3PercentageThreshold3 - -namespace Battery3AlarmState { -static constexpr AttributeId Id = 0x0000007E; -} // namespace Battery3AlarmState - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace PowerConfiguration - -namespace DeviceTemperatureConfiguration { -namespace Attributes { - -namespace CurrentTemperature { -static constexpr AttributeId Id = 0x00000000; -} // namespace CurrentTemperature - -namespace MinTempExperienced { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinTempExperienced - -namespace MaxTempExperienced { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxTempExperienced - -namespace OverTempTotalDwell { -static constexpr AttributeId Id = 0x00000003; -} // namespace OverTempTotalDwell - -namespace DeviceTempAlarmMask { -static constexpr AttributeId Id = 0x00000010; -} // namespace DeviceTempAlarmMask - -namespace LowTempThreshold { -static constexpr AttributeId Id = 0x00000011; -} // namespace LowTempThreshold - -namespace HighTempThreshold { -static constexpr AttributeId Id = 0x00000012; -} // namespace HighTempThreshold - -namespace LowTempDwellTripPoint { -static constexpr AttributeId Id = 0x00000013; -} // namespace LowTempDwellTripPoint - -namespace HighTempDwellTripPoint { -static constexpr AttributeId Id = 0x00000014; -} // namespace HighTempDwellTripPoint - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace DeviceTemperatureConfiguration - namespace Identify { namespace Attributes { @@ -643,102 +327,6 @@ static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; } // namespace Attributes } // namespace LevelControl -namespace Alarms { -namespace Attributes { - -namespace AlarmCount { -static constexpr AttributeId Id = 0x00000000; -} // namespace AlarmCount - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace Alarms - -namespace Time { -namespace Attributes { - -namespace Time { -static constexpr AttributeId Id = 0x00000000; -} // namespace Time - -namespace TimeStatus { -static constexpr AttributeId Id = 0x00000001; -} // namespace TimeStatus - -namespace TimeZone { -static constexpr AttributeId Id = 0x00000002; -} // namespace TimeZone - -namespace DstStart { -static constexpr AttributeId Id = 0x00000003; -} // namespace DstStart - -namespace DstEnd { -static constexpr AttributeId Id = 0x00000004; -} // namespace DstEnd - -namespace DstShift { -static constexpr AttributeId Id = 0x00000005; -} // namespace DstShift - -namespace StandardTime { -static constexpr AttributeId Id = 0x00000006; -} // namespace StandardTime - -namespace LocalTime { -static constexpr AttributeId Id = 0x00000007; -} // namespace LocalTime - -namespace LastSetTime { -static constexpr AttributeId Id = 0x00000008; -} // namespace LastSetTime - -namespace ValidUntilTime { -static constexpr AttributeId Id = 0x00000009; -} // namespace ValidUntilTime - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace Time - namespace BinaryInputBasic { namespace Attributes { @@ -801,29 +389,9 @@ static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; } // namespace Attributes } // namespace BinaryInputBasic -namespace PowerProfile { +namespace PulseWidthModulation { namespace Attributes { -namespace TotalProfileNum { -static constexpr AttributeId Id = 0x00000000; -} // namespace TotalProfileNum - -namespace MultipleScheduling { -static constexpr AttributeId Id = 0x00000001; -} // namespace MultipleScheduling - -namespace EnergyFormatting { -static constexpr AttributeId Id = 0x00000002; -} // namespace EnergyFormatting - -namespace EnergyRemote { -static constexpr AttributeId Id = 0x00000003; -} // namespace EnergyRemote - -namespace ScheduleMode { -static constexpr AttributeId Id = 0x00000004; -} // namespace ScheduleMode - namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; } // namespace GeneratedCommandList @@ -845,22 +413,26 @@ static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; } // namespace ClusterRevision } // namespace Attributes -} // namespace PowerProfile +} // namespace PulseWidthModulation -namespace ApplianceControl { +namespace Descriptor { namespace Attributes { -namespace StartTime { +namespace DeviceList { static constexpr AttributeId Id = 0x00000000; -} // namespace StartTime +} // namespace DeviceList -namespace FinishTime { +namespace ServerList { static constexpr AttributeId Id = 0x00000001; -} // namespace FinishTime +} // namespace ServerList -namespace RemainingTime { +namespace ClientList { static constexpr AttributeId Id = 0x00000002; -} // namespace RemainingTime +} // namespace ClientList + +namespace PartsList { +static constexpr AttributeId Id = 0x00000003; +} // namespace PartsList namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; @@ -883,82 +455,14 @@ static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; } // namespace ClusterRevision } // namespace Attributes -} // namespace ApplianceControl +} // namespace Descriptor -namespace PulseWidthModulation { +namespace Binding { namespace Attributes { - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace PulseWidthModulation - -namespace Descriptor { -namespace Attributes { - -namespace DeviceList { -static constexpr AttributeId Id = 0x00000000; -} // namespace DeviceList - -namespace ServerList { -static constexpr AttributeId Id = 0x00000001; -} // namespace ServerList - -namespace ClientList { -static constexpr AttributeId Id = 0x00000002; -} // namespace ClientList - -namespace PartsList { -static constexpr AttributeId Id = 0x00000003; -} // namespace PartsList - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace Descriptor - -namespace Binding { -namespace Attributes { - -namespace Binding { -static constexpr AttributeId Id = 0x00000000; -} // namespace Binding + +namespace Binding { +static constexpr AttributeId Id = 0x00000000; +} // namespace Binding namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; @@ -1029,60 +533,6 @@ static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; } // namespace Attributes } // namespace AccessControl -namespace PollControl { -namespace Attributes { - -namespace CheckInInterval { -static constexpr AttributeId Id = 0x00000000; -} // namespace CheckInInterval - -namespace LongPollInterval { -static constexpr AttributeId Id = 0x00000001; -} // namespace LongPollInterval - -namespace ShortPollInterval { -static constexpr AttributeId Id = 0x00000002; -} // namespace ShortPollInterval - -namespace FastPollTimeout { -static constexpr AttributeId Id = 0x00000003; -} // namespace FastPollTimeout - -namespace CheckInIntervalMin { -static constexpr AttributeId Id = 0x00000004; -} // namespace CheckInIntervalMin - -namespace LongPollIntervalMin { -static constexpr AttributeId Id = 0x00000005; -} // namespace LongPollIntervalMin - -namespace FastPollTimeoutMax { -static constexpr AttributeId Id = 0x00000006; -} // namespace FastPollTimeoutMax - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace PollControl - namespace BridgedActions { namespace Attributes { @@ -2727,52 +2177,6 @@ static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; } // namespace Attributes } // namespace ModeSelect -namespace ShadeConfiguration { -namespace Attributes { - -namespace PhysicalClosedLimit { -static constexpr AttributeId Id = 0x00000000; -} // namespace PhysicalClosedLimit - -namespace MotorStepSize { -static constexpr AttributeId Id = 0x00000001; -} // namespace MotorStepSize - -namespace Status { -static constexpr AttributeId Id = 0x00000002; -} // namespace Status - -namespace ClosedLimit { -static constexpr AttributeId Id = 0x00000010; -} // namespace ClosedLimit - -namespace Mode { -static constexpr AttributeId Id = 0x00000011; -} // namespace Mode - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ShadeConfiguration - namespace DoorLock { namespace Attributes { @@ -3533,64 +2937,6 @@ static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; } // namespace Attributes } // namespace FanControl -namespace DehumidificationControl { -namespace Attributes { - -namespace RelativeHumidity { -static constexpr AttributeId Id = 0x00000000; -} // namespace RelativeHumidity - -namespace DehumidificationCooling { -static constexpr AttributeId Id = 0x00000001; -} // namespace DehumidificationCooling - -namespace RhDehumidificationSetpoint { -static constexpr AttributeId Id = 0x00000010; -} // namespace RhDehumidificationSetpoint - -namespace RelativeHumidityMode { -static constexpr AttributeId Id = 0x00000011; -} // namespace RelativeHumidityMode - -namespace DehumidificationLockout { -static constexpr AttributeId Id = 0x00000012; -} // namespace DehumidificationLockout - -namespace DehumidificationHysteresis { -static constexpr AttributeId Id = 0x00000013; -} // namespace DehumidificationHysteresis - -namespace DehumidificationMaxCool { -static constexpr AttributeId Id = 0x00000014; -} // namespace DehumidificationMaxCool - -namespace RelativeHumidityDisplay { -static constexpr AttributeId Id = 0x00000015; -} // namespace RelativeHumidityDisplay - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace DehumidificationControl - namespace ThermostatUserInterfaceConfiguration { namespace Attributes { @@ -3908,1335 +3254,19 @@ static constexpr AttributeId Id = 0x00000031; namespace LampRatedHours { static constexpr AttributeId Id = 0x00000032; -} // namespace LampRatedHours - -namespace LampBurnHours { -static constexpr AttributeId Id = 0x00000033; -} // namespace LampBurnHours - -namespace LampAlarmMode { -static constexpr AttributeId Id = 0x00000034; -} // namespace LampAlarmMode - -namespace LampBurnHoursTripPoint { -static constexpr AttributeId Id = 0x00000035; -} // namespace LampBurnHoursTripPoint - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace BallastConfiguration - -namespace IlluminanceMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace LightSensorType { -static constexpr AttributeId Id = 0x00000004; -} // namespace LightSensorType - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace IlluminanceMeasurement - -namespace TemperatureMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace TemperatureMeasurement - -namespace PressureMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace ScaledValue { -static constexpr AttributeId Id = 0x00000010; -} // namespace ScaledValue - -namespace MinScaledValue { -static constexpr AttributeId Id = 0x00000011; -} // namespace MinScaledValue - -namespace MaxScaledValue { -static constexpr AttributeId Id = 0x00000012; -} // namespace MaxScaledValue - -namespace ScaledTolerance { -static constexpr AttributeId Id = 0x00000013; -} // namespace ScaledTolerance - -namespace Scale { -static constexpr AttributeId Id = 0x00000014; -} // namespace Scale - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace PressureMeasurement - -namespace FlowMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace FlowMeasurement - -namespace RelativeHumidityMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace RelativeHumidityMeasurement - -namespace OccupancySensing { -namespace Attributes { - -namespace Occupancy { -static constexpr AttributeId Id = 0x00000000; -} // namespace Occupancy - -namespace OccupancySensorType { -static constexpr AttributeId Id = 0x00000001; -} // namespace OccupancySensorType - -namespace OccupancySensorTypeBitmap { -static constexpr AttributeId Id = 0x00000002; -} // namespace OccupancySensorTypeBitmap - -namespace PirOccupiedToUnoccupiedDelay { -static constexpr AttributeId Id = 0x00000010; -} // namespace PirOccupiedToUnoccupiedDelay - -namespace PirUnoccupiedToOccupiedDelay { -static constexpr AttributeId Id = 0x00000011; -} // namespace PirUnoccupiedToOccupiedDelay - -namespace PirUnoccupiedToOccupiedThreshold { -static constexpr AttributeId Id = 0x00000012; -} // namespace PirUnoccupiedToOccupiedThreshold - -namespace UltrasonicOccupiedToUnoccupiedDelay { -static constexpr AttributeId Id = 0x00000020; -} // namespace UltrasonicOccupiedToUnoccupiedDelay - -namespace UltrasonicUnoccupiedToOccupiedDelay { -static constexpr AttributeId Id = 0x00000021; -} // namespace UltrasonicUnoccupiedToOccupiedDelay - -namespace UltrasonicUnoccupiedToOccupiedThreshold { -static constexpr AttributeId Id = 0x00000022; -} // namespace UltrasonicUnoccupiedToOccupiedThreshold - -namespace PhysicalContactOccupiedToUnoccupiedDelay { -static constexpr AttributeId Id = 0x00000030; -} // namespace PhysicalContactOccupiedToUnoccupiedDelay - -namespace PhysicalContactUnoccupiedToOccupiedDelay { -static constexpr AttributeId Id = 0x00000031; -} // namespace PhysicalContactUnoccupiedToOccupiedDelay - -namespace PhysicalContactUnoccupiedToOccupiedThreshold { -static constexpr AttributeId Id = 0x00000032; -} // namespace PhysicalContactUnoccupiedToOccupiedThreshold - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace OccupancySensing - -namespace CarbonMonoxideConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace CarbonMonoxideConcentrationMeasurement - -namespace CarbonDioxideConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace CarbonDioxideConcentrationMeasurement - -namespace EthyleneConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace EthyleneConcentrationMeasurement - -namespace EthyleneOxideConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace EthyleneOxideConcentrationMeasurement - -namespace HydrogenConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace HydrogenConcentrationMeasurement - -namespace HydrogenSulphideConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace HydrogenSulphideConcentrationMeasurement - -namespace NitricOxideConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace NitricOxideConcentrationMeasurement - -namespace NitrogenDioxideConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace NitrogenDioxideConcentrationMeasurement - -namespace OxygenConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace OxygenConcentrationMeasurement - -namespace OzoneConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace OzoneConcentrationMeasurement - -namespace SulfurDioxideConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace SulfurDioxideConcentrationMeasurement - -namespace DissolvedOxygenConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace DissolvedOxygenConcentrationMeasurement - -namespace BromateConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace BromateConcentrationMeasurement - -namespace ChloraminesConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ChloraminesConcentrationMeasurement - -namespace ChlorineConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ChlorineConcentrationMeasurement - -namespace FecalColiformAndEColiConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace FecalColiformAndEColiConcentrationMeasurement - -namespace FluorideConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace FluorideConcentrationMeasurement - -namespace HaloaceticAcidsConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace HaloaceticAcidsConcentrationMeasurement - -namespace TotalTrihalomethanesConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace TotalTrihalomethanesConcentrationMeasurement - -namespace TotalColiformBacteriaConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace TotalColiformBacteriaConcentrationMeasurement - -namespace TurbidityConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace TurbidityConcentrationMeasurement - -namespace CopperConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace CopperConcentrationMeasurement - -namespace LeadConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue - -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue - -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace LeadConcentrationMeasurement - -namespace ManganeseConcentrationMeasurement { -namespace Attributes { - -namespace MeasuredValue { -static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue - -namespace MinMeasuredValue { -static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue +} // namespace LampRatedHours -namespace MaxMeasuredValue { -static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue +namespace LampBurnHours { +static constexpr AttributeId Id = 0x00000033; +} // namespace LampBurnHours -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance +namespace LampAlarmMode { +static constexpr AttributeId Id = 0x00000034; +} // namespace LampAlarmMode + +namespace LampBurnHoursTripPoint { +static constexpr AttributeId Id = 0x00000035; +} // namespace LampBurnHoursTripPoint namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; @@ -5259,9 +3289,9 @@ static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; } // namespace ClusterRevision } // namespace Attributes -} // namespace ManganeseConcentrationMeasurement +} // namespace BallastConfiguration -namespace SulfateConcentrationMeasurement { +namespace IlluminanceMeasurement { namespace Attributes { namespace MeasuredValue { @@ -5280,6 +3310,10 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance +namespace LightSensorType { +static constexpr AttributeId Id = 0x00000004; +} // namespace LightSensorType + namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; } // namespace GeneratedCommandList @@ -5301,9 +3335,9 @@ static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; } // namespace ClusterRevision } // namespace Attributes -} // namespace SulfateConcentrationMeasurement +} // namespace IlluminanceMeasurement -namespace BromodichloromethaneConcentrationMeasurement { +namespace TemperatureMeasurement { namespace Attributes { namespace MeasuredValue { @@ -5343,9 +3377,9 @@ static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; } // namespace ClusterRevision } // namespace Attributes -} // namespace BromodichloromethaneConcentrationMeasurement +} // namespace TemperatureMeasurement -namespace BromoformConcentrationMeasurement { +namespace PressureMeasurement { namespace Attributes { namespace MeasuredValue { @@ -5364,6 +3398,26 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance +namespace ScaledValue { +static constexpr AttributeId Id = 0x00000010; +} // namespace ScaledValue + +namespace MinScaledValue { +static constexpr AttributeId Id = 0x00000011; +} // namespace MinScaledValue + +namespace MaxScaledValue { +static constexpr AttributeId Id = 0x00000012; +} // namespace MaxScaledValue + +namespace ScaledTolerance { +static constexpr AttributeId Id = 0x00000013; +} // namespace ScaledTolerance + +namespace Scale { +static constexpr AttributeId Id = 0x00000014; +} // namespace Scale + namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; } // namespace GeneratedCommandList @@ -5385,9 +3439,9 @@ static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; } // namespace ClusterRevision } // namespace Attributes -} // namespace BromoformConcentrationMeasurement +} // namespace PressureMeasurement -namespace ChlorodibromomethaneConcentrationMeasurement { +namespace FlowMeasurement { namespace Attributes { namespace MeasuredValue { @@ -5427,9 +3481,9 @@ static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; } // namespace ClusterRevision } // namespace Attributes -} // namespace ChlorodibromomethaneConcentrationMeasurement +} // namespace FlowMeasurement -namespace ChloroformConcentrationMeasurement { +namespace RelativeHumidityMeasurement { namespace Attributes { namespace MeasuredValue { @@ -5469,26 +3523,58 @@ static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; } // namespace ClusterRevision } // namespace Attributes -} // namespace ChloroformConcentrationMeasurement +} // namespace RelativeHumidityMeasurement -namespace SodiumConcentrationMeasurement { +namespace OccupancySensing { namespace Attributes { -namespace MeasuredValue { +namespace Occupancy { static constexpr AttributeId Id = 0x00000000; -} // namespace MeasuredValue +} // namespace Occupancy -namespace MinMeasuredValue { +namespace OccupancySensorType { static constexpr AttributeId Id = 0x00000001; -} // namespace MinMeasuredValue +} // namespace OccupancySensorType -namespace MaxMeasuredValue { +namespace OccupancySensorTypeBitmap { static constexpr AttributeId Id = 0x00000002; -} // namespace MaxMeasuredValue +} // namespace OccupancySensorTypeBitmap -namespace Tolerance { -static constexpr AttributeId Id = 0x00000003; -} // namespace Tolerance +namespace PirOccupiedToUnoccupiedDelay { +static constexpr AttributeId Id = 0x00000010; +} // namespace PirOccupiedToUnoccupiedDelay + +namespace PirUnoccupiedToOccupiedDelay { +static constexpr AttributeId Id = 0x00000011; +} // namespace PirUnoccupiedToOccupiedDelay + +namespace PirUnoccupiedToOccupiedThreshold { +static constexpr AttributeId Id = 0x00000012; +} // namespace PirUnoccupiedToOccupiedThreshold + +namespace UltrasonicOccupiedToUnoccupiedDelay { +static constexpr AttributeId Id = 0x00000020; +} // namespace UltrasonicOccupiedToUnoccupiedDelay + +namespace UltrasonicUnoccupiedToOccupiedDelay { +static constexpr AttributeId Id = 0x00000021; +} // namespace UltrasonicUnoccupiedToOccupiedDelay + +namespace UltrasonicUnoccupiedToOccupiedThreshold { +static constexpr AttributeId Id = 0x00000022; +} // namespace UltrasonicUnoccupiedToOccupiedThreshold + +namespace PhysicalContactOccupiedToUnoccupiedDelay { +static constexpr AttributeId Id = 0x00000030; +} // namespace PhysicalContactOccupiedToUnoccupiedDelay + +namespace PhysicalContactUnoccupiedToOccupiedDelay { +static constexpr AttributeId Id = 0x00000031; +} // namespace PhysicalContactUnoccupiedToOccupiedDelay + +namespace PhysicalContactUnoccupiedToOccupiedThreshold { +static constexpr AttributeId Id = 0x00000032; +} // namespace PhysicalContactUnoccupiedToOccupiedThreshold namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; @@ -5511,7 +3597,7 @@ static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; } // namespace ClusterRevision } // namespace Attributes -} // namespace SodiumConcentrationMeasurement +} // namespace OccupancySensing namespace WakeOnLan { namespace Attributes { @@ -5941,214 +4027,6 @@ static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; } // namespace Attributes } // namespace AccountLogin -namespace ApplianceIdentification { -namespace Attributes { - -namespace BasicIdentification { -static constexpr AttributeId Id = 0x00000000; -} // namespace BasicIdentification - -namespace CompanyName { -static constexpr AttributeId Id = 0x00000010; -} // namespace CompanyName - -namespace CompanyId { -static constexpr AttributeId Id = 0x00000011; -} // namespace CompanyId - -namespace BrandName { -static constexpr AttributeId Id = 0x00000012; -} // namespace BrandName - -namespace BrandId { -static constexpr AttributeId Id = 0x00000013; -} // namespace BrandId - -namespace Model { -static constexpr AttributeId Id = 0x00000014; -} // namespace Model - -namespace PartNumber { -static constexpr AttributeId Id = 0x00000015; -} // namespace PartNumber - -namespace ProductRevision { -static constexpr AttributeId Id = 0x00000016; -} // namespace ProductRevision - -namespace SoftwareRevision { -static constexpr AttributeId Id = 0x00000017; -} // namespace SoftwareRevision - -namespace ProductTypeName { -static constexpr AttributeId Id = 0x00000018; -} // namespace ProductTypeName - -namespace ProductTypeId { -static constexpr AttributeId Id = 0x00000019; -} // namespace ProductTypeId - -namespace CecedSpecificationVersion { -static constexpr AttributeId Id = 0x0000001A; -} // namespace CecedSpecificationVersion - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ApplianceIdentification - -namespace MeterIdentification { -namespace Attributes { - -namespace CompanyName { -static constexpr AttributeId Id = 0x00000000; -} // namespace CompanyName - -namespace MeterTypeId { -static constexpr AttributeId Id = 0x00000001; -} // namespace MeterTypeId - -namespace DataQualityId { -static constexpr AttributeId Id = 0x00000004; -} // namespace DataQualityId - -namespace CustomerName { -static constexpr AttributeId Id = 0x00000005; -} // namespace CustomerName - -namespace Model { -static constexpr AttributeId Id = 0x00000006; -} // namespace Model - -namespace PartNumber { -static constexpr AttributeId Id = 0x00000007; -} // namespace PartNumber - -namespace ProductRevision { -static constexpr AttributeId Id = 0x00000008; -} // namespace ProductRevision - -namespace SoftwareRevision { -static constexpr AttributeId Id = 0x0000000A; -} // namespace SoftwareRevision - -namespace UtilityName { -static constexpr AttributeId Id = 0x0000000B; -} // namespace UtilityName - -namespace Pod { -static constexpr AttributeId Id = 0x0000000C; -} // namespace Pod - -namespace AvailablePower { -static constexpr AttributeId Id = 0x0000000D; -} // namespace AvailablePower - -namespace PowerThreshold { -static constexpr AttributeId Id = 0x0000000E; -} // namespace PowerThreshold - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace MeterIdentification - -namespace ApplianceEventsAndAlert { -namespace Attributes { - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ApplianceEventsAndAlert - -namespace ApplianceStatistics { -namespace Attributes { - -namespace LogMaxSize { -static constexpr AttributeId Id = 0x00000000; -} // namespace LogMaxSize - -namespace LogQueueMaxSize { -static constexpr AttributeId Id = 0x00000001; -} // namespace LogQueueMaxSize - -namespace GeneratedCommandList { -static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; -} // namespace GeneratedCommandList - -namespace AcceptedCommandList { -static constexpr AttributeId Id = Globals::Attributes::AcceptedCommandList::Id; -} // namespace AcceptedCommandList - -namespace AttributeList { -static constexpr AttributeId Id = Globals::Attributes::AttributeList::Id; -} // namespace AttributeList - -namespace FeatureMap { -static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; -} // namespace FeatureMap - -namespace ClusterRevision { -static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; -} // namespace ClusterRevision - -} // namespace Attributes -} // namespace ApplianceStatistics - namespace ElectricalMeasurement { namespace Attributes { diff --git a/zzz_generated/app-common/app-common/zap-generated/ids/Clusters.h b/zzz_generated/app-common/app-common/zap-generated/ids/Clusters.h index 35b73227baf9ff..7954cf6f6bab75 100644 --- a/zzz_generated/app-common/app-common/zap-generated/ids/Clusters.h +++ b/zzz_generated/app-common/app-common/zap-generated/ids/Clusters.h @@ -25,12 +25,6 @@ namespace chip { namespace app { namespace Clusters { -namespace PowerConfiguration { -static constexpr ClusterId Id = 0x00000001; -} // namespace PowerConfiguration -namespace DeviceTemperatureConfiguration { -static constexpr ClusterId Id = 0x00000002; -} // namespace DeviceTemperatureConfiguration namespace Identify { static constexpr ClusterId Id = 0x00000003; } // namespace Identify @@ -49,21 +43,9 @@ static constexpr ClusterId Id = 0x00000007; namespace LevelControl { static constexpr ClusterId Id = 0x00000008; } // namespace LevelControl -namespace Alarms { -static constexpr ClusterId Id = 0x00000009; -} // namespace Alarms -namespace Time { -static constexpr ClusterId Id = 0x0000000A; -} // namespace Time namespace BinaryInputBasic { static constexpr ClusterId Id = 0x0000000F; } // namespace BinaryInputBasic -namespace PowerProfile { -static constexpr ClusterId Id = 0x0000001A; -} // namespace PowerProfile -namespace ApplianceControl { -static constexpr ClusterId Id = 0x0000001B; -} // namespace ApplianceControl namespace PulseWidthModulation { static constexpr ClusterId Id = 0x0000001C; } // namespace PulseWidthModulation @@ -76,9 +58,6 @@ static constexpr ClusterId Id = 0x0000001E; namespace AccessControl { static constexpr ClusterId Id = 0x0000001F; } // namespace AccessControl -namespace PollControl { -static constexpr ClusterId Id = 0x00000020; -} // namespace PollControl namespace BridgedActions { static constexpr ClusterId Id = 0x00000025; } // namespace BridgedActions @@ -169,9 +148,6 @@ static constexpr ClusterId Id = 0x00000045; namespace ModeSelect { static constexpr ClusterId Id = 0x00000050; } // namespace ModeSelect -namespace ShadeConfiguration { -static constexpr ClusterId Id = 0x00000100; -} // namespace ShadeConfiguration namespace DoorLock { static constexpr ClusterId Id = 0x00000101; } // namespace DoorLock @@ -190,9 +166,6 @@ static constexpr ClusterId Id = 0x00000201; namespace FanControl { static constexpr ClusterId Id = 0x00000202; } // namespace FanControl -namespace DehumidificationControl { -static constexpr ClusterId Id = 0x00000203; -} // namespace DehumidificationControl namespace ThermostatUserInterfaceConfiguration { static constexpr ClusterId Id = 0x00000204; } // namespace ThermostatUserInterfaceConfiguration @@ -220,96 +193,6 @@ static constexpr ClusterId Id = 0x00000405; namespace OccupancySensing { static constexpr ClusterId Id = 0x00000406; } // namespace OccupancySensing -namespace CarbonMonoxideConcentrationMeasurement { -static constexpr ClusterId Id = 0x0000040C; -} // namespace CarbonMonoxideConcentrationMeasurement -namespace CarbonDioxideConcentrationMeasurement { -static constexpr ClusterId Id = 0x0000040D; -} // namespace CarbonDioxideConcentrationMeasurement -namespace EthyleneConcentrationMeasurement { -static constexpr ClusterId Id = 0x0000040E; -} // namespace EthyleneConcentrationMeasurement -namespace EthyleneOxideConcentrationMeasurement { -static constexpr ClusterId Id = 0x0000040F; -} // namespace EthyleneOxideConcentrationMeasurement -namespace HydrogenConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000410; -} // namespace HydrogenConcentrationMeasurement -namespace HydrogenSulphideConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000411; -} // namespace HydrogenSulphideConcentrationMeasurement -namespace NitricOxideConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000412; -} // namespace NitricOxideConcentrationMeasurement -namespace NitrogenDioxideConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000413; -} // namespace NitrogenDioxideConcentrationMeasurement -namespace OxygenConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000414; -} // namespace OxygenConcentrationMeasurement -namespace OzoneConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000415; -} // namespace OzoneConcentrationMeasurement -namespace SulfurDioxideConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000416; -} // namespace SulfurDioxideConcentrationMeasurement -namespace DissolvedOxygenConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000417; -} // namespace DissolvedOxygenConcentrationMeasurement -namespace BromateConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000418; -} // namespace BromateConcentrationMeasurement -namespace ChloraminesConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000419; -} // namespace ChloraminesConcentrationMeasurement -namespace ChlorineConcentrationMeasurement { -static constexpr ClusterId Id = 0x0000041A; -} // namespace ChlorineConcentrationMeasurement -namespace FecalColiformAndEColiConcentrationMeasurement { -static constexpr ClusterId Id = 0x0000041B; -} // namespace FecalColiformAndEColiConcentrationMeasurement -namespace FluorideConcentrationMeasurement { -static constexpr ClusterId Id = 0x0000041C; -} // namespace FluorideConcentrationMeasurement -namespace HaloaceticAcidsConcentrationMeasurement { -static constexpr ClusterId Id = 0x0000041D; -} // namespace HaloaceticAcidsConcentrationMeasurement -namespace TotalTrihalomethanesConcentrationMeasurement { -static constexpr ClusterId Id = 0x0000041E; -} // namespace TotalTrihalomethanesConcentrationMeasurement -namespace TotalColiformBacteriaConcentrationMeasurement { -static constexpr ClusterId Id = 0x0000041F; -} // namespace TotalColiformBacteriaConcentrationMeasurement -namespace TurbidityConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000420; -} // namespace TurbidityConcentrationMeasurement -namespace CopperConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000421; -} // namespace CopperConcentrationMeasurement -namespace LeadConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000422; -} // namespace LeadConcentrationMeasurement -namespace ManganeseConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000423; -} // namespace ManganeseConcentrationMeasurement -namespace SulfateConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000424; -} // namespace SulfateConcentrationMeasurement -namespace BromodichloromethaneConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000425; -} // namespace BromodichloromethaneConcentrationMeasurement -namespace BromoformConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000426; -} // namespace BromoformConcentrationMeasurement -namespace ChlorodibromomethaneConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000427; -} // namespace ChlorodibromomethaneConcentrationMeasurement -namespace ChloroformConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000428; -} // namespace ChloroformConcentrationMeasurement -namespace SodiumConcentrationMeasurement { -static constexpr ClusterId Id = 0x00000429; -} // namespace SodiumConcentrationMeasurement namespace WakeOnLan { static constexpr ClusterId Id = 0x00000503; } // namespace WakeOnLan @@ -346,18 +229,6 @@ static constexpr ClusterId Id = 0x0000050D; namespace AccountLogin { static constexpr ClusterId Id = 0x0000050E; } // namespace AccountLogin -namespace ApplianceIdentification { -static constexpr ClusterId Id = 0x00000B00; -} // namespace ApplianceIdentification -namespace MeterIdentification { -static constexpr ClusterId Id = 0x00000B01; -} // namespace MeterIdentification -namespace ApplianceEventsAndAlert { -static constexpr ClusterId Id = 0x00000B02; -} // namespace ApplianceEventsAndAlert -namespace ApplianceStatistics { -static constexpr ClusterId Id = 0x00000B03; -} // namespace ApplianceStatistics namespace ElectricalMeasurement { static constexpr ClusterId Id = 0x00000B04; } // namespace ElectricalMeasurement diff --git a/zzz_generated/app-common/app-common/zap-generated/ids/Commands.h b/zzz_generated/app-common/app-common/zap-generated/ids/Commands.h index 994e5919623c31..3d057d349edc1e 100644 --- a/zzz_generated/app-common/app-common/zap-generated/ids/Commands.h +++ b/zzz_generated/app-common/app-common/zap-generated/ids/Commands.h @@ -241,190 +241,6 @@ static constexpr CommandId Id = 0x00000008; } // namespace Commands } // namespace LevelControl -namespace Alarms { -namespace Commands { - -namespace ResetAlarm { -static constexpr CommandId Id = 0x00000000; -} // namespace ResetAlarm - -namespace Alarm { -static constexpr CommandId Id = 0x00000000; -} // namespace Alarm - -namespace ResetAllAlarms { -static constexpr CommandId Id = 0x00000001; -} // namespace ResetAllAlarms - -namespace GetAlarmResponse { -static constexpr CommandId Id = 0x00000001; -} // namespace GetAlarmResponse - -namespace GetAlarm { -static constexpr CommandId Id = 0x00000002; -} // namespace GetAlarm - -namespace ResetAlarmLog { -static constexpr CommandId Id = 0x00000003; -} // namespace ResetAlarmLog - -} // namespace Commands -} // namespace Alarms - -namespace PowerProfile { -namespace Commands { - -namespace PowerProfileRequest { -static constexpr CommandId Id = 0x00000000; -} // namespace PowerProfileRequest - -namespace PowerProfileNotification { -static constexpr CommandId Id = 0x00000000; -} // namespace PowerProfileNotification - -namespace PowerProfileStateRequest { -static constexpr CommandId Id = 0x00000001; -} // namespace PowerProfileStateRequest - -namespace PowerProfileResponse { -static constexpr CommandId Id = 0x00000001; -} // namespace PowerProfileResponse - -namespace GetPowerProfilePriceResponse { -static constexpr CommandId Id = 0x00000002; -} // namespace GetPowerProfilePriceResponse - -namespace PowerProfileStateResponse { -static constexpr CommandId Id = 0x00000002; -} // namespace PowerProfileStateResponse - -namespace GetOverallSchedulePriceResponse { -static constexpr CommandId Id = 0x00000003; -} // namespace GetOverallSchedulePriceResponse - -namespace GetPowerProfilePrice { -static constexpr CommandId Id = 0x00000003; -} // namespace GetPowerProfilePrice - -namespace EnergyPhasesScheduleNotification { -static constexpr CommandId Id = 0x00000004; -} // namespace EnergyPhasesScheduleNotification - -namespace PowerProfilesStateNotification { -static constexpr CommandId Id = 0x00000004; -} // namespace PowerProfilesStateNotification - -namespace EnergyPhasesScheduleResponse { -static constexpr CommandId Id = 0x00000005; -} // namespace EnergyPhasesScheduleResponse - -namespace GetOverallSchedulePrice { -static constexpr CommandId Id = 0x00000005; -} // namespace GetOverallSchedulePrice - -namespace PowerProfileScheduleConstraintsRequest { -static constexpr CommandId Id = 0x00000006; -} // namespace PowerProfileScheduleConstraintsRequest - -namespace EnergyPhasesScheduleRequest { -static constexpr CommandId Id = 0x00000006; -} // namespace EnergyPhasesScheduleRequest - -namespace EnergyPhasesScheduleStateRequest { -static constexpr CommandId Id = 0x00000007; -} // namespace EnergyPhasesScheduleStateRequest - -namespace EnergyPhasesScheduleStateResponse { -static constexpr CommandId Id = 0x00000007; -} // namespace EnergyPhasesScheduleStateResponse - -namespace GetPowerProfilePriceExtendedResponse { -static constexpr CommandId Id = 0x00000008; -} // namespace GetPowerProfilePriceExtendedResponse - -namespace EnergyPhasesScheduleStateNotification { -static constexpr CommandId Id = 0x00000008; -} // namespace EnergyPhasesScheduleStateNotification - -namespace PowerProfileScheduleConstraintsNotification { -static constexpr CommandId Id = 0x00000009; -} // namespace PowerProfileScheduleConstraintsNotification - -namespace PowerProfileScheduleConstraintsResponse { -static constexpr CommandId Id = 0x0000000A; -} // namespace PowerProfileScheduleConstraintsResponse - -namespace GetPowerProfilePriceExtended { -static constexpr CommandId Id = 0x0000000B; -} // namespace GetPowerProfilePriceExtended - -} // namespace Commands -} // namespace PowerProfile - -namespace ApplianceControl { -namespace Commands { - -namespace ExecutionOfACommand { -static constexpr CommandId Id = 0x00000000; -} // namespace ExecutionOfACommand - -namespace SignalStateResponse { -static constexpr CommandId Id = 0x00000000; -} // namespace SignalStateResponse - -namespace SignalState { -static constexpr CommandId Id = 0x00000001; -} // namespace SignalState - -namespace SignalStateNotification { -static constexpr CommandId Id = 0x00000001; -} // namespace SignalStateNotification - -namespace WriteFunctions { -static constexpr CommandId Id = 0x00000002; -} // namespace WriteFunctions - -namespace OverloadPauseResume { -static constexpr CommandId Id = 0x00000003; -} // namespace OverloadPauseResume - -namespace OverloadPause { -static constexpr CommandId Id = 0x00000004; -} // namespace OverloadPause - -namespace OverloadWarning { -static constexpr CommandId Id = 0x00000005; -} // namespace OverloadWarning - -} // namespace Commands -} // namespace ApplianceControl - -namespace PollControl { -namespace Commands { - -namespace CheckIn { -static constexpr CommandId Id = 0x00000000; -} // namespace CheckIn - -namespace CheckInResponse { -static constexpr CommandId Id = 0x00000000; -} // namespace CheckInResponse - -namespace FastPollStop { -static constexpr CommandId Id = 0x00000001; -} // namespace FastPollStop - -namespace SetLongPollInterval { -static constexpr CommandId Id = 0x00000002; -} // namespace SetLongPollInterval - -namespace SetShortPollInterval { -static constexpr CommandId Id = 0x00000003; -} // namespace SetShortPollInterval - -} // namespace Commands -} // namespace PollControl - namespace BridgedActions { namespace Commands { @@ -1243,58 +1059,6 @@ static constexpr CommandId Id = 0x00000003; } // namespace Commands } // namespace AccountLogin -namespace ApplianceEventsAndAlert { -namespace Commands { - -namespace GetAlerts { -static constexpr CommandId Id = 0x00000000; -} // namespace GetAlerts - -namespace GetAlertsResponse { -static constexpr CommandId Id = 0x00000000; -} // namespace GetAlertsResponse - -namespace AlertsNotification { -static constexpr CommandId Id = 0x00000001; -} // namespace AlertsNotification - -namespace EventsNotification { -static constexpr CommandId Id = 0x00000002; -} // namespace EventsNotification - -} // namespace Commands -} // namespace ApplianceEventsAndAlert - -namespace ApplianceStatistics { -namespace Commands { - -namespace LogNotification { -static constexpr CommandId Id = 0x00000000; -} // namespace LogNotification - -namespace LogRequest { -static constexpr CommandId Id = 0x00000000; -} // namespace LogRequest - -namespace LogResponse { -static constexpr CommandId Id = 0x00000001; -} // namespace LogResponse - -namespace LogQueueRequest { -static constexpr CommandId Id = 0x00000001; -} // namespace LogQueueRequest - -namespace LogQueueResponse { -static constexpr CommandId Id = 0x00000002; -} // namespace LogQueueResponse - -namespace StatisticsAvailable { -static constexpr CommandId Id = 0x00000003; -} // namespace StatisticsAvailable - -} // namespace Commands -} // namespace ApplianceStatistics - namespace ElectricalMeasurement { namespace Commands { diff --git a/zzz_generated/app-common/app-common/zap-generated/print-cluster.h b/zzz_generated/app-common/app-common/zap-generated/print-cluster.h index 1aefef551764c0..c021979631025b 100644 --- a/zzz_generated/app-common/app-common/zap-generated/print-cluster.h +++ b/zzz_generated/app-common/app-common/zap-generated/print-cluster.h @@ -24,18 +24,6 @@ // to the "EmberAfClusterName" defined in the ZCL header. // The names of clusters that are not present, are removed. -#if defined(ZCL_USING_POWER_CONFIG_CLUSTER_SERVER) || defined(ZCL_USING_POWER_CONFIG_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_POWER_CONFIG_CLUSTER { ZCL_POWER_CONFIG_CLUSTER_ID, "Power Configuration" }, -#else -#define CHIP_PRINTCLUSTER_POWER_CONFIG_CLUSTER -#endif - -#if defined(ZCL_USING_DEVICE_TEMP_CLUSTER_SERVER) || defined(ZCL_USING_DEVICE_TEMP_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_DEVICE_TEMP_CLUSTER { ZCL_DEVICE_TEMP_CLUSTER_ID, "Device Temperature Configuration" }, -#else -#define CHIP_PRINTCLUSTER_DEVICE_TEMP_CLUSTER -#endif - #if defined(ZCL_USING_IDENTIFY_CLUSTER_SERVER) || defined(ZCL_USING_IDENTIFY_CLUSTER_CLIENT) #define CHIP_PRINTCLUSTER_IDENTIFY_CLUSTER { ZCL_IDENTIFY_CLUSTER_ID, "Identify" }, #else @@ -72,36 +60,12 @@ #define CHIP_PRINTCLUSTER_LEVEL_CONTROL_CLUSTER #endif -#if defined(ZCL_USING_ALARM_CLUSTER_SERVER) || defined(ZCL_USING_ALARM_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_ALARM_CLUSTER { ZCL_ALARM_CLUSTER_ID, "Alarms" }, -#else -#define CHIP_PRINTCLUSTER_ALARM_CLUSTER -#endif - -#if defined(ZCL_USING_TIME_CLUSTER_SERVER) || defined(ZCL_USING_TIME_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_TIME_CLUSTER { ZCL_TIME_CLUSTER_ID, "Time" }, -#else -#define CHIP_PRINTCLUSTER_TIME_CLUSTER -#endif - #if defined(ZCL_USING_BINARY_INPUT_BASIC_CLUSTER_SERVER) || defined(ZCL_USING_BINARY_INPUT_BASIC_CLUSTER_CLIENT) #define CHIP_PRINTCLUSTER_BINARY_INPUT_BASIC_CLUSTER { ZCL_BINARY_INPUT_BASIC_CLUSTER_ID, "Binary Input (Basic)" }, #else #define CHIP_PRINTCLUSTER_BINARY_INPUT_BASIC_CLUSTER #endif -#if defined(ZCL_USING_POWER_PROFILE_CLUSTER_SERVER) || defined(ZCL_USING_POWER_PROFILE_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_POWER_PROFILE_CLUSTER { ZCL_POWER_PROFILE_CLUSTER_ID, "Power Profile" }, -#else -#define CHIP_PRINTCLUSTER_POWER_PROFILE_CLUSTER -#endif - -#if defined(ZCL_USING_APPLIANCE_CONTROL_CLUSTER_SERVER) || defined(ZCL_USING_APPLIANCE_CONTROL_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_APPLIANCE_CONTROL_CLUSTER { ZCL_APPLIANCE_CONTROL_CLUSTER_ID, "Appliance Control" }, -#else -#define CHIP_PRINTCLUSTER_APPLIANCE_CONTROL_CLUSTER -#endif - #if defined(ZCL_USING_PWM_CLUSTER_SERVER) || defined(ZCL_USING_PWM_CLUSTER_CLIENT) #define CHIP_PRINTCLUSTER_PWM_CLUSTER { ZCL_PWM_CLUSTER_ID, "Pulse Width Modulation" }, #else @@ -126,12 +90,6 @@ #define CHIP_PRINTCLUSTER_ACCESS_CONTROL_CLUSTER #endif -#if defined(ZCL_USING_POLL_CONTROL_CLUSTER_SERVER) || defined(ZCL_USING_POLL_CONTROL_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_POLL_CONTROL_CLUSTER { ZCL_POLL_CONTROL_CLUSTER_ID, "Poll Control" }, -#else -#define CHIP_PRINTCLUSTER_POLL_CONTROL_CLUSTER -#endif - #if defined(ZCL_USING_BRIDGED_ACTIONS_CLUSTER_SERVER) || defined(ZCL_USING_BRIDGED_ACTIONS_CLUSTER_CLIENT) #define CHIP_PRINTCLUSTER_BRIDGED_ACTIONS_CLUSTER { ZCL_BRIDGED_ACTIONS_CLUSTER_ID, "Bridged Actions" }, #else @@ -317,12 +275,6 @@ #define CHIP_PRINTCLUSTER_MODE_SELECT_CLUSTER #endif -#if defined(ZCL_USING_SHADE_CONFIG_CLUSTER_SERVER) || defined(ZCL_USING_SHADE_CONFIG_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_SHADE_CONFIG_CLUSTER { ZCL_SHADE_CONFIG_CLUSTER_ID, "Shade Configuration" }, -#else -#define CHIP_PRINTCLUSTER_SHADE_CONFIG_CLUSTER -#endif - #if defined(ZCL_USING_DOOR_LOCK_CLUSTER_SERVER) || defined(ZCL_USING_DOOR_LOCK_CLUSTER_CLIENT) #define CHIP_PRINTCLUSTER_DOOR_LOCK_CLUSTER { ZCL_DOOR_LOCK_CLUSTER_ID, "Door Lock" }, #else @@ -359,12 +311,6 @@ #define CHIP_PRINTCLUSTER_FAN_CONTROL_CLUSTER #endif -#if defined(ZCL_USING_DEHUMID_CONTROL_CLUSTER_SERVER) || defined(ZCL_USING_DEHUMID_CONTROL_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_DEHUMID_CONTROL_CLUSTER { ZCL_DEHUMID_CONTROL_CLUSTER_ID, "Dehumidification Control" }, -#else -#define CHIP_PRINTCLUSTER_DEHUMID_CONTROL_CLUSTER -#endif - #if defined(ZCL_USING_THERMOSTAT_UI_CONFIG_CLUSTER_SERVER) || defined(ZCL_USING_THERMOSTAT_UI_CONFIG_CLUSTER_CLIENT) #define CHIP_PRINTCLUSTER_THERMOSTAT_UI_CONFIG_CLUSTER \ { ZCL_THERMOSTAT_UI_CONFIG_CLUSTER_ID, "Thermostat User Interface Configuration" }, @@ -422,246 +368,6 @@ #define CHIP_PRINTCLUSTER_OCCUPANCY_SENSING_CLUSTER #endif -#if defined(ZCL_USING_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Carbon Monoxide Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Carbon Dioxide Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Ethylene Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Ethylene Oxide Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Hydrogen Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Hydrogen Sulphide Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Nitric Oxide Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Nitrogen Dioxide Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Oxygen Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Ozone Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Sulfur Dioxide Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Dissolved Oxygen Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Bromate Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Chloramines Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Chlorine Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Fecal coliform and E. Coli Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Fluoride Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Haloacetic Acids Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Total Trihalomethanes Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Total Coliform Bacteria Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Turbidity Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Copper Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Lead Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Manganese Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Sulfate Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Bromodichloromethane Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Bromoform Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Chlorodibromomethane Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Chloroform Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \ - defined(ZCL_USING_SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER \ - { ZCL_SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER_ID, "Sodium Concentration Measurement" }, -#else -#define CHIP_PRINTCLUSTER_SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER -#endif - #if defined(ZCL_USING_WAKE_ON_LAN_CLUSTER_SERVER) || defined(ZCL_USING_WAKE_ON_LAN_CLUSTER_CLIENT) #define CHIP_PRINTCLUSTER_WAKE_ON_LAN_CLUSTER { ZCL_WAKE_ON_LAN_CLUSTER_ID, "Wake on LAN" }, #else @@ -734,31 +440,6 @@ #define CHIP_PRINTCLUSTER_ACCOUNT_LOGIN_CLUSTER #endif -#if defined(ZCL_USING_APPLIANCE_IDENTIFICATION_CLUSTER_SERVER) || defined(ZCL_USING_APPLIANCE_IDENTIFICATION_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_APPLIANCE_IDENTIFICATION_CLUSTER { ZCL_APPLIANCE_IDENTIFICATION_CLUSTER_ID, "Appliance Identification" }, -#else -#define CHIP_PRINTCLUSTER_APPLIANCE_IDENTIFICATION_CLUSTER -#endif - -#if defined(ZCL_USING_METER_IDENTIFICATION_CLUSTER_SERVER) || defined(ZCL_USING_METER_IDENTIFICATION_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_METER_IDENTIFICATION_CLUSTER { ZCL_METER_IDENTIFICATION_CLUSTER_ID, "Meter Identification" }, -#else -#define CHIP_PRINTCLUSTER_METER_IDENTIFICATION_CLUSTER -#endif - -#if defined(ZCL_USING_APPLIANCE_EVENTS_AND_ALERT_CLUSTER_SERVER) || defined(ZCL_USING_APPLIANCE_EVENTS_AND_ALERT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_APPLIANCE_EVENTS_AND_ALERT_CLUSTER \ - { ZCL_APPLIANCE_EVENTS_AND_ALERT_CLUSTER_ID, "Appliance Events and Alert" }, -#else -#define CHIP_PRINTCLUSTER_APPLIANCE_EVENTS_AND_ALERT_CLUSTER -#endif - -#if defined(ZCL_USING_APPLIANCE_STATISTICS_CLUSTER_SERVER) || defined(ZCL_USING_APPLIANCE_STATISTICS_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_APPLIANCE_STATISTICS_CLUSTER { ZCL_APPLIANCE_STATISTICS_CLUSTER_ID, "Appliance Statistics" }, -#else -#define CHIP_PRINTCLUSTER_APPLIANCE_STATISTICS_CLUSTER -#endif - #if defined(ZCL_USING_ELECTRICAL_MEASUREMENT_CLUSTER_SERVER) || defined(ZCL_USING_ELECTRICAL_MEASUREMENT_CLUSTER_CLIENT) #define CHIP_PRINTCLUSTER_ELECTRICAL_MEASUREMENT_CLUSTER { ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, "Electrical Measurement" }, #else @@ -772,24 +453,17 @@ #endif #define CLUSTER_IDS_TO_NAMES \ - CHIP_PRINTCLUSTER_POWER_CONFIG_CLUSTER \ - CHIP_PRINTCLUSTER_DEVICE_TEMP_CLUSTER \ CHIP_PRINTCLUSTER_IDENTIFY_CLUSTER \ CHIP_PRINTCLUSTER_GROUPS_CLUSTER \ CHIP_PRINTCLUSTER_SCENES_CLUSTER \ CHIP_PRINTCLUSTER_ON_OFF_CLUSTER \ CHIP_PRINTCLUSTER_ON_OFF_SWITCH_CONFIG_CLUSTER \ CHIP_PRINTCLUSTER_LEVEL_CONTROL_CLUSTER \ - CHIP_PRINTCLUSTER_ALARM_CLUSTER \ - CHIP_PRINTCLUSTER_TIME_CLUSTER \ CHIP_PRINTCLUSTER_BINARY_INPUT_BASIC_CLUSTER \ - CHIP_PRINTCLUSTER_POWER_PROFILE_CLUSTER \ - CHIP_PRINTCLUSTER_APPLIANCE_CONTROL_CLUSTER \ CHIP_PRINTCLUSTER_PWM_CLUSTER \ CHIP_PRINTCLUSTER_DESCRIPTOR_CLUSTER \ CHIP_PRINTCLUSTER_BINDING_CLUSTER \ CHIP_PRINTCLUSTER_ACCESS_CONTROL_CLUSTER \ - CHIP_PRINTCLUSTER_POLL_CONTROL_CLUSTER \ CHIP_PRINTCLUSTER_BRIDGED_ACTIONS_CLUSTER \ CHIP_PRINTCLUSTER_BASIC_CLUSTER \ CHIP_PRINTCLUSTER_OTA_PROVIDER_CLUSTER \ @@ -820,14 +494,12 @@ CHIP_PRINTCLUSTER_PROXY_VALID_CLUSTER \ CHIP_PRINTCLUSTER_BOOLEAN_STATE_CLUSTER \ CHIP_PRINTCLUSTER_MODE_SELECT_CLUSTER \ - CHIP_PRINTCLUSTER_SHADE_CONFIG_CLUSTER \ CHIP_PRINTCLUSTER_DOOR_LOCK_CLUSTER \ CHIP_PRINTCLUSTER_WINDOW_COVERING_CLUSTER \ CHIP_PRINTCLUSTER_BARRIER_CONTROL_CLUSTER \ CHIP_PRINTCLUSTER_PUMP_CONFIG_CONTROL_CLUSTER \ CHIP_PRINTCLUSTER_THERMOSTAT_CLUSTER \ CHIP_PRINTCLUSTER_FAN_CONTROL_CLUSTER \ - CHIP_PRINTCLUSTER_DEHUMID_CONTROL_CLUSTER \ CHIP_PRINTCLUSTER_THERMOSTAT_UI_CONFIG_CLUSTER \ CHIP_PRINTCLUSTER_COLOR_CONTROL_CLUSTER \ CHIP_PRINTCLUSTER_BALLAST_CONFIGURATION_CLUSTER \ @@ -837,36 +509,6 @@ CHIP_PRINTCLUSTER_FLOW_MEASUREMENT_CLUSTER \ CHIP_PRINTCLUSTER_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER \ CHIP_PRINTCLUSTER_OCCUPANCY_SENSING_CLUSTER \ - CHIP_PRINTCLUSTER_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER \ CHIP_PRINTCLUSTER_WAKE_ON_LAN_CLUSTER \ CHIP_PRINTCLUSTER_CHANNEL_CLUSTER \ CHIP_PRINTCLUSTER_TARGET_NAVIGATOR_CLUSTER \ @@ -879,11 +521,7 @@ CHIP_PRINTCLUSTER_APPLICATION_LAUNCHER_CLUSTER \ CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER \ CHIP_PRINTCLUSTER_ACCOUNT_LOGIN_CLUSTER \ - CHIP_PRINTCLUSTER_APPLIANCE_IDENTIFICATION_CLUSTER \ - CHIP_PRINTCLUSTER_METER_IDENTIFICATION_CLUSTER \ - CHIP_PRINTCLUSTER_APPLIANCE_EVENTS_AND_ALERT_CLUSTER \ - CHIP_PRINTCLUSTER_APPLIANCE_STATISTICS_CLUSTER \ CHIP_PRINTCLUSTER_ELECTRICAL_MEASUREMENT_CLUSTER \ CHIP_PRINTCLUSTER_TEST_CLUSTER -#define MAX_CLUSTER_NAME_LENGTH 52 +#define MAX_CLUSTER_NAME_LENGTH 39 diff --git a/zzz_generated/chef-rootnode_thermostat_bm3fb8dhYi/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/chef-rootnode_thermostat_bm3fb8dhYi/zap-generated/PluginApplicationCallbacks.h index 8908aef62edb34..f487ddad4445ef 100644 --- a/zzz_generated/chef-rootnode_thermostat_bm3fb8dhYi/zap-generated/PluginApplicationCallbacks.h +++ b/zzz_generated/chef-rootnode_thermostat_bm3fb8dhYi/zap-generated/PluginApplicationCallbacks.h @@ -25,7 +25,6 @@ MatterIdentifyPluginServerInitCallback(); \ MatterGroupsPluginServerInitCallback(); \ MatterScenesPluginServerInitCallback(); \ - MatterAlarmsPluginServerInitCallback(); \ MatterDescriptorPluginServerInitCallback(); \ MatterBindingPluginClientInitCallback(); \ MatterAccessControlPluginServerInitCallback(); \ diff --git a/zzz_generated/chef-rootnode_thermostat_bm3fb8dhYi/zap-generated/callback-stub.cpp b/zzz_generated/chef-rootnode_thermostat_bm3fb8dhYi/zap-generated/callback-stub.cpp index 5243413e9400fe..e65961f1fbfef8 100644 --- a/zzz_generated/chef-rootnode_thermostat_bm3fb8dhYi/zap-generated/callback-stub.cpp +++ b/zzz_generated/chef-rootnode_thermostat_bm3fb8dhYi/zap-generated/callback-stub.cpp @@ -35,9 +35,6 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) case ZCL_ADMINISTRATOR_COMMISSIONING_CLUSTER_ID: emberAfAdministratorCommissioningClusterInitCallback(endpoint); break; - case ZCL_ALARM_CLUSTER_ID: - emberAfAlarmsClusterInitCallback(endpoint); - break; case ZCL_BASIC_CLUSTER_ID: emberAfBasicClusterInitCallback(endpoint); break; @@ -141,11 +138,6 @@ void __attribute__((weak)) emberAfAdministratorCommissioningClusterInitCallback( // To prevent warning (void) endpoint; } -void __attribute__((weak)) emberAfAlarmsClusterInitCallback(EndpointId endpoint) -{ - // To prevent warning - (void) endpoint; -} void __attribute__((weak)) emberAfBasicClusterInitCallback(EndpointId endpoint) { // To prevent warning diff --git a/zzz_generated/chef-rootnode_thermostat_bm3fb8dhYi/zap-generated/endpoint_config.h b/zzz_generated/chef-rootnode_thermostat_bm3fb8dhYi/zap-generated/endpoint_config.h index 80ec8d111375f1..9d7c4c63106df6 100644 --- a/zzz_generated/chef-rootnode_thermostat_bm3fb8dhYi/zap-generated/endpoint_config.h +++ b/zzz_generated/chef-rootnode_thermostat_bm3fb8dhYi/zap-generated/endpoint_config.h @@ -100,7 +100,7 @@ #define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask // This is an array of EmberAfAttributeMetadata structures. -#define GENERATED_ATTRIBUTE_COUNT 256 +#define GENERATED_ATTRIBUTE_COUNT 254 #define GENERATED_ATTRIBUTES \ { \ \ @@ -458,10 +458,6 @@ { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ - /* Endpoint: 1, Cluster: Alarms (server) */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ /* Endpoint: 1, Cluster: Descriptor (server) */ \ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* device list */ \ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \ @@ -713,7 +709,7 @@ // clang-format on #define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask -#define GENERATED_CLUSTER_COUNT 34 +#define GENERATED_CLUSTER_COUNT 33 // clang-format off #define GENERATED_CLUSTERS { \ @@ -992,21 +988,10 @@ .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 87 ) ,\ .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 95 ) ,\ },\ - { \ - /* Endpoint: 1, Cluster: Alarms (server) */ \ - .clusterId = 0x00000009, \ - .attributes = ZAP_ATTRIBUTE_INDEX(215), \ - .attributeCount = 2, \ - .clusterSize = 6, \ - .mask = ZAP_CLUSTER_MASK(SERVER), \ - .functions = NULL, \ - .acceptedCommandList = nullptr ,\ - .generatedCommandList = nullptr ,\ - },\ { \ /* Endpoint: 1, Cluster: Descriptor (server) */ \ .clusterId = 0x0000001D, \ - .attributes = ZAP_ATTRIBUTE_INDEX(217), \ + .attributes = ZAP_ATTRIBUTE_INDEX(215), \ .attributeCount = 6, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1017,7 +1002,7 @@ { \ /* Endpoint: 1, Cluster: Binding (client) */ \ .clusterId = 0x0000001E, \ - .attributes = ZAP_ATTRIBUTE_INDEX(223), \ + .attributes = ZAP_ATTRIBUTE_INDEX(221), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1028,7 +1013,7 @@ { \ /* Endpoint: 1, Cluster: Thermostat (server) */ \ .clusterId = 0x00000201, \ - .attributes = ZAP_ATTRIBUTE_INDEX(223), \ + .attributes = ZAP_ATTRIBUTE_INDEX(221), \ .attributeCount = 29, \ .clusterSize = 47, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \ @@ -1039,7 +1024,7 @@ { \ /* Endpoint: 1, Cluster: Fan Control (client) */ \ .clusterId = 0x00000202, \ - .attributes = ZAP_ATTRIBUTE_INDEX(252), \ + .attributes = ZAP_ATTRIBUTE_INDEX(250), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1050,7 +1035,7 @@ { \ /* Endpoint: 1, Cluster: Thermostat User Interface Configuration (server) */ \ .clusterId = 0x00000204, \ - .attributes = ZAP_ATTRIBUTE_INDEX(252), \ + .attributes = ZAP_ATTRIBUTE_INDEX(250), \ .attributeCount = 4, \ .clusterSize = 8, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \ @@ -1061,7 +1046,7 @@ { \ /* Endpoint: 1, Cluster: Temperature Measurement (client) */ \ .clusterId = 0x00000402, \ - .attributes = ZAP_ATTRIBUTE_INDEX(256), \ + .attributes = ZAP_ATTRIBUTE_INDEX(254), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1072,7 +1057,7 @@ { \ /* Endpoint: 1, Cluster: Relative Humidity Measurement (client) */ \ .clusterId = 0x00000405, \ - .attributes = ZAP_ATTRIBUTE_INDEX(256), \ + .attributes = ZAP_ATTRIBUTE_INDEX(254), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1083,7 +1068,7 @@ { \ /* Endpoint: 1, Cluster: Occupancy Sensing (client) */ \ .clusterId = 0x00000406, \ - .attributes = ZAP_ATTRIBUTE_INDEX(256), \ + .attributes = ZAP_ATTRIBUTE_INDEX(254), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1097,12 +1082,12 @@ #define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index]) -#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 28 +#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 27 // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 22, 215 }, { ZAP_CLUSTER_INDEX(22), 12, 95 }, \ + { ZAP_CLUSTER_INDEX(0), 22, 215 }, { ZAP_CLUSTER_INDEX(22), 11, 89 }, \ } // Largest attribute size is needed for various buffers @@ -1114,7 +1099,7 @@ static_assert(ATTRIBUTE_LARGEST <= CHIP_CONFIG_MAX_ATTRIBUTE_STORE_ELEMENT_SIZE, #define ATTRIBUTE_SINGLETONS_SIZE (37) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (310) +#define ATTRIBUTE_MAX_SIZE (304) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (2) diff --git a/zzz_generated/chef-rootnode_thermostat_bm3fb8dhYi/zap-generated/gen_config.h b/zzz_generated/chef-rootnode_thermostat_bm3fb8dhYi/zap-generated/gen_config.h index 9eea8e49f65714..7e8f956476d8f4 100644 --- a/zzz_generated/chef-rootnode_thermostat_bm3fb8dhYi/zap-generated/gen_config.h +++ b/zzz_generated/chef-rootnode_thermostat_bm3fb8dhYi/zap-generated/gen_config.h @@ -32,7 +32,6 @@ #define EMBER_AF_IDENTIFY_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_GROUPS_CLUSTER_SERVER_ENDPOINT_COUNT (2) #define EMBER_AF_SCENES_CLUSTER_SERVER_ENDPOINT_COUNT (1) -#define EMBER_AF_ALARM_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_DESCRIPTOR_CLUSTER_SERVER_ENDPOINT_COUNT (2) #define EMBER_AF_BINDING_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_ACCESS_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1) @@ -91,11 +90,6 @@ #define MATTER_CLUSTER_SCENE_NAME_SUPPORT_MASK 0x0001 #define MATTER_CLUSTER_SCENE_NAME_SUPPORT (0x0000 & MATTER_CLUSTER_SCENE_NAME_SUPPORT_MASK) -// Use this macro to check if the server side of the Alarms cluster is included -#define ZCL_USING_ALARM_CLUSTER_SERVER -#define EMBER_AF_PLUGIN_ALARMS_SERVER -#define EMBER_AF_PLUGIN_ALARMS - // Use this macro to check if the server side of the Descriptor cluster is included #define ZCL_USING_DESCRIPTOR_CLUSTER_SERVER #define EMBER_AF_PLUGIN_DESCRIPTOR_SERVER diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h index 6171f4426e7426..6bee2ed94362b9 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h @@ -33,24 +33,17 @@ /*----------------------------------------------------------------------------*\ | Cluster Name | ID | |---------------------------------------------------------------------+--------| -| 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 | | AccessControl | 0x001F | -| PollControl | 0x0020 | | BridgedActions | 0x0025 | | Basic | 0x0028 | | OtaSoftwareUpdateProvider | 0x0029 | @@ -81,14 +74,12 @@ | ProxyValid | 0x0044 | | BooleanState | 0x0045 | | ModeSelect | 0x0050 | -| ShadeConfiguration | 0x0100 | | DoorLock | 0x0101 | | WindowCovering | 0x0102 | | BarrierControl | 0x0103 | | PumpConfigurationAndControl | 0x0200 | | Thermostat | 0x0201 | | FanControl | 0x0202 | -| DehumidificationControl | 0x0203 | | ThermostatUserInterfaceConfiguration | 0x0204 | | ColorControl | 0x0300 | | BallastConfiguration | 0x0301 | @@ -98,36 +89,6 @@ | 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 | | WakeOnLan | 0x0503 | | Channel | 0x0504 | | TargetNavigator | 0x0505 | @@ -140,110 +101,10 @@ | ApplicationLauncher | 0x050C | | ApplicationBasic | 0x050D | | AccountLogin | 0x050E | -| ApplianceIdentification | 0x0B00 | -| MeterIdentification | 0x0B01 | -| ApplianceEventsAndAlert | 0x0B02 | -| ApplianceStatistics | 0x0B03 | | ElectricalMeasurement | 0x0B04 | | TestCluster | 0xFFF1FC05| \*----------------------------------------------------------------------------*/ -/*----------------------------------------------------------------------------*\ -| Cluster PowerConfiguration | 0x0001 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * 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 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster DeviceTemperatureConfiguration | 0x0002 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * CurrentTemperature | 0x0000 | -| * MinTempExperienced | 0x0001 | -| * MaxTempExperienced | 0x0002 | -| * OverTempTotalDwell | 0x0003 | -| * DeviceTempAlarmMask | 0x0010 | -| * LowTempThreshold | 0x0011 | -| * HighTempThreshold | 0x0012 | -| * LowTempDwellTripPoint | 0x0013 | -| * HighTempDwellTripPoint | 0x0014 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /*----------------------------------------------------------------------------*\ | Cluster Identify | 0x0003 | |------------------------------------------------------------------------------| @@ -1434,16 +1295,20 @@ class LevelControlMoveToClosestFrequency : public ClusterCommand }; /*----------------------------------------------------------------------------*\ -| Cluster Alarms | 0x0009 | +| Cluster BinaryInputBasic | 0x000F | |------------------------------------------------------------------------------| | Commands: | | -| * ResetAlarm | 0x00 | -| * ResetAllAlarms | 0x01 | -| * GetAlarm | 0x02 | -| * ResetAlarmLog | 0x03 | |------------------------------------------------------------------------------| | Attributes: | | -| * AlarmCount | 0x0000 | +| * ActiveText | 0x0004 | +| * Description | 0x001C | +| * InactiveText | 0x002E | +| * OutOfService | 0x0051 | +| * Polarity | 0x0054 | +| * PresentValue | 0x0055 | +| * Reliability | 0x0067 | +| * StatusFlags | 0x006F | +| * ApplicationType | 0x0100 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -1453,140 +1318,47 @@ class LevelControlMoveToClosestFrequency : public ClusterCommand | Events: | | \*----------------------------------------------------------------------------*/ -/* - * Command ResetAlarm - */ -class AlarmsResetAlarm : public ClusterCommand -{ -public: - 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000009) command (0x00000000) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000009, 0x00000000, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000009) command (0x00000000) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000009, 0x00000000, mRequest); - } - -private: - chip::app::Clusters::Alarms::Commands::ResetAlarm::Type mRequest; -}; - -/* - * Command ResetAllAlarms - */ -class AlarmsResetAllAlarms : public ClusterCommand -{ -public: - AlarmsResetAllAlarms(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("reset-all-alarms", credsIssuerConfig) - { - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000009) command (0x00000001) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000009, 0x00000001, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000009) command (0x00000001) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000009, 0x00000001, mRequest); - } - -private: - chip::app::Clusters::Alarms::Commands::ResetAllAlarms::Type mRequest; -}; - -/* - * Command GetAlarm - */ -class AlarmsGetAlarm : public ClusterCommand -{ -public: - AlarmsGetAlarm(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-alarm", credsIssuerConfig) - { - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000009) command (0x00000002) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000009, 0x00000002, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000009) command (0x00000002) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000009, 0x00000002, mRequest); - } - -private: - chip::app::Clusters::Alarms::Commands::GetAlarm::Type mRequest; -}; - -/* - * Command ResetAlarmLog - */ -class AlarmsResetAlarmLog : public ClusterCommand -{ -public: - AlarmsResetAlarmLog(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("reset-alarm-log", credsIssuerConfig) - { - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000009) command (0x00000003) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000009, 0x00000003, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000009) command (0x00000003) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000009, 0x00000003, mRequest); - } +/*----------------------------------------------------------------------------*\ +| Cluster PulseWidthModulation | 0x001C | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ -private: - chip::app::Clusters::Alarms::Commands::ResetAlarmLog::Type mRequest; -}; +/*----------------------------------------------------------------------------*\ +| Cluster Descriptor | 0x001D | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * DeviceList | 0x0000 | +| * ServerList | 0x0001 | +| * ClientList | 0x0002 | +| * PartsList | 0x0003 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*\ -| Cluster Time | 0x000A | +| Cluster Binding | 0x001E | |------------------------------------------------------------------------------| | Commands: | | |------------------------------------------------------------------------------| | Attributes: | | -| * Time | 0x0000 | -| * TimeStatus | 0x0001 | -| * TimeZone | 0x0002 | -| * DstStart | 0x0003 | -| * DstEnd | 0x0004 | -| * DstShift | 0x0005 | -| * StandardTime | 0x0006 | -| * LocalTime | 0x0007 | -| * LastSetTime | 0x0008 | -| * ValidUntilTime | 0x0009 | +| * Binding | 0x0000 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -1597,20 +1369,16 @@ class AlarmsResetAlarmLog : public ClusterCommand \*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*\ -| Cluster BinaryInputBasic | 0x000F | +| Cluster AccessControl | 0x001F | |------------------------------------------------------------------------------| | Commands: | | |------------------------------------------------------------------------------| | Attributes: | | -| * ActiveText | 0x0004 | -| * Description | 0x001C | -| * InactiveText | 0x002E | -| * OutOfService | 0x0051 | -| * Polarity | 0x0054 | -| * PresentValue | 0x0055 | -| * Reliability | 0x0067 | -| * StatusFlags | 0x006F | -| * ApplicationType | 0x0100 | +| * Acl | 0x0000 | +| * Extension | 0x0001 | +| * SubjectsPerAccessControlEntry | 0x0002 | +| * TargetsPerAccessControlEntry | 0x0003 | +| * AccessControlEntriesPerFabric | 0x0004 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -1618,28 +1386,31 @@ class AlarmsResetAlarmLog : public ClusterCommand | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | +| * AccessControlEntryChanged | 0x0000 | +| * AccessControlExtensionChanged | 0x0001 | \*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*\ -| Cluster PowerProfile | 0x001A | +| Cluster BridgedActions | 0x0025 | |------------------------------------------------------------------------------| | Commands: | | -| * PowerProfileRequest | 0x00 | -| * PowerProfileStateRequest | 0x01 | -| * GetPowerProfilePriceResponse | 0x02 | -| * GetOverallSchedulePriceResponse | 0x03 | -| * EnergyPhasesScheduleNotification | 0x04 | -| * EnergyPhasesScheduleResponse | 0x05 | -| * PowerProfileScheduleConstraintsRequest | 0x06 | -| * EnergyPhasesScheduleStateRequest | 0x07 | -| * GetPowerProfilePriceExtendedResponse | 0x08 | +| * 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: | | -| * TotalProfileNum | 0x0000 | -| * MultipleScheduling | 0x0001 | -| * EnergyFormatting | 0x0002 | -| * EnergyRemote | 0x0003 | -| * ScheduleMode | 0x0004 | +| * ActionList | 0x0000 | +| * EndpointList | 0x0001 | +| * SetupUrl | 0x0002 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -1647,518 +1418,594 @@ class AlarmsResetAlarmLog : public ClusterCommand | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | +| * StateChanged | 0x0000 | +| * ActionFailed | 0x0001 | \*----------------------------------------------------------------------------*/ /* - * Command PowerProfileRequest + * Command InstantAction */ -class PowerProfilePowerProfileRequest : public ClusterCommand +class BridgedActionsInstantAction : public ClusterCommand { public: - PowerProfilePowerProfileRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("power-profile-request", credsIssuerConfig) + BridgedActionsInstantAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("instant-action", credsIssuerConfig) { - AddArgument("PowerProfileId", 0, UINT8_MAX, &mRequest.powerProfileId); + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000001A, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000001A, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000000, mRequest); } private: - chip::app::Clusters::PowerProfile::Commands::PowerProfileRequest::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::InstantAction::Type mRequest; }; /* - * Command PowerProfileStateRequest + * Command InstantActionWithTransition */ -class PowerProfilePowerProfileStateRequest : public ClusterCommand +class BridgedActionsInstantActionWithTransition : public ClusterCommand { public: - PowerProfilePowerProfileStateRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("power-profile-state-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(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000001) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000001) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000001A, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000001, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000001) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000001) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000001A, 0x00000001, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000001, mRequest); } private: - chip::app::Clusters::PowerProfile::Commands::PowerProfileStateRequest::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::InstantActionWithTransition::Type mRequest; }; /* - * Command GetPowerProfilePriceResponse + * Command StartAction */ -class PowerProfileGetPowerProfilePriceResponse : public ClusterCommand +class BridgedActionsStartAction : public ClusterCommand { public: - PowerProfileGetPowerProfilePriceResponse(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-power-profile-price-response", credsIssuerConfig) + BridgedActionsStartAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("start-action", credsIssuerConfig) { - 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); + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000002) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000002) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000001A, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000002, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000002) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000002) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000001A, 0x00000002, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000002, mRequest); } private: - chip::app::Clusters::PowerProfile::Commands::GetPowerProfilePriceResponse::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::StartAction::Type mRequest; }; /* - * Command GetOverallSchedulePriceResponse + * Command StartActionWithDuration */ -class PowerProfileGetOverallSchedulePriceResponse : public ClusterCommand +class BridgedActionsStartActionWithDuration : public ClusterCommand { public: - PowerProfileGetOverallSchedulePriceResponse(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-overall-schedule-price-response", credsIssuerConfig) + BridgedActionsStartActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("start-action-with-duration", credsIssuerConfig) { - AddArgument("Currency", 0, UINT16_MAX, &mRequest.currency); - AddArgument("Price", 0, UINT32_MAX, &mRequest.price); - AddArgument("PriceTrailingDigit", 0, UINT8_MAX, &mRequest.priceTrailingDigit); + 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(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000003) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000003) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000001A, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000003, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000003) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000003) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000001A, 0x00000003, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000003, mRequest); } private: - chip::app::Clusters::PowerProfile::Commands::GetOverallSchedulePriceResponse::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::StartActionWithDuration::Type mRequest; }; /* - * Command EnergyPhasesScheduleNotification + * Command StopAction */ -class PowerProfileEnergyPhasesScheduleNotification : public ClusterCommand +class BridgedActionsStopAction : public ClusterCommand { public: - PowerProfileEnergyPhasesScheduleNotification(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("energy-phases-schedule-notification", credsIssuerConfig), - mComplex_ScheduledPhases(&mRequest.scheduledPhases) + BridgedActionsStopAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-action", credsIssuerConfig) { - AddArgument("PowerProfileId", 0, UINT8_MAX, &mRequest.powerProfileId); - AddArgument("NumOfScheduledPhases", 0, UINT8_MAX, &mRequest.numOfScheduledPhases); - AddArgument("ScheduledPhases", &mComplex_ScheduledPhases); + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000004) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000004) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000001A, 0x00000004, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000004, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000004) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000004) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000001A, 0x00000004, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000004, mRequest); } private: - chip::app::Clusters::PowerProfile::Commands::EnergyPhasesScheduleNotification::Type mRequest; - TypedComplexArgument> - mComplex_ScheduledPhases; + chip::app::Clusters::BridgedActions::Commands::StopAction::Type mRequest; }; /* - * Command EnergyPhasesScheduleResponse + * Command PauseAction */ -class PowerProfileEnergyPhasesScheduleResponse : public ClusterCommand +class BridgedActionsPauseAction : public ClusterCommand { public: - PowerProfileEnergyPhasesScheduleResponse(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("energy-phases-schedule-response", credsIssuerConfig), mComplex_ScheduledPhases(&mRequest.scheduledPhases) + BridgedActionsPauseAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("pause-action", credsIssuerConfig) { - AddArgument("PowerProfileId", 0, UINT8_MAX, &mRequest.powerProfileId); - AddArgument("NumOfScheduledPhases", 0, UINT8_MAX, &mRequest.numOfScheduledPhases); - AddArgument("ScheduledPhases", &mComplex_ScheduledPhases); + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000005) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000005) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000001A, 0x00000005, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000005, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000005) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000005) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000001A, 0x00000005, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000005, mRequest); } private: - chip::app::Clusters::PowerProfile::Commands::EnergyPhasesScheduleResponse::Type mRequest; - TypedComplexArgument> - mComplex_ScheduledPhases; + chip::app::Clusters::BridgedActions::Commands::PauseAction::Type mRequest; }; /* - * Command PowerProfileScheduleConstraintsRequest + * Command PauseActionWithDuration */ -class PowerProfilePowerProfileScheduleConstraintsRequest : public ClusterCommand +class BridgedActionsPauseActionWithDuration : public ClusterCommand { public: - PowerProfilePowerProfileScheduleConstraintsRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("power-profile-schedule-constraints-request", credsIssuerConfig) + BridgedActionsPauseActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("pause-action-with-duration", credsIssuerConfig) { - AddArgument("PowerProfileId", 0, UINT8_MAX, &mRequest.powerProfileId); + 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(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000006) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000006) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000001A, 0x00000006, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000006, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000006) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000006) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000001A, 0x00000006, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000006, mRequest); } private: - chip::app::Clusters::PowerProfile::Commands::PowerProfileScheduleConstraintsRequest::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::PauseActionWithDuration::Type mRequest; }; /* - * Command EnergyPhasesScheduleStateRequest + * Command ResumeAction */ -class PowerProfileEnergyPhasesScheduleStateRequest : public ClusterCommand +class BridgedActionsResumeAction : public ClusterCommand { public: - PowerProfileEnergyPhasesScheduleStateRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("energy-phases-schedule-state-request", credsIssuerConfig) + BridgedActionsResumeAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("resume-action", credsIssuerConfig) { - AddArgument("PowerProfileId", 0, UINT8_MAX, &mRequest.powerProfileId); + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000007) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000007) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000001A, 0x00000007, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000007, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000007) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000007) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000001A, 0x00000007, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000007, mRequest); } private: - chip::app::Clusters::PowerProfile::Commands::EnergyPhasesScheduleStateRequest::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::ResumeAction::Type mRequest; }; /* - * Command GetPowerProfilePriceExtendedResponse + * Command EnableAction */ -class PowerProfileGetPowerProfilePriceExtendedResponse : public ClusterCommand +class BridgedActionsEnableAction : public ClusterCommand { public: - PowerProfileGetPowerProfilePriceExtendedResponse(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-power-profile-price-extended-response", credsIssuerConfig) + BridgedActionsEnableAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("enable-action", credsIssuerConfig) { - 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); + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000008) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000008) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000001A, 0x00000008, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000008, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001A) command (0x00000008) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000008) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000001A, 0x00000008, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000008, mRequest); } private: - chip::app::Clusters::PowerProfile::Commands::GetPowerProfilePriceExtendedResponse::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::EnableAction::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster ApplianceControl | 0x001B | -|------------------------------------------------------------------------------| -| Commands: | | -| * ExecutionOfACommand | 0x00 | -| * SignalState | 0x01 | -| * WriteFunctions | 0x02 | -| * OverloadPauseResume | 0x03 | -| * OverloadPause | 0x04 | -| * OverloadWarning | 0x05 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * StartTime | 0x0000 | -| * FinishTime | 0x0001 | -| * RemainingTime | 0x0002 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ +/* + * Command EnableActionWithDuration + */ +class BridgedActionsEnableActionWithDuration : public ClusterCommand +{ +public: + 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(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000009) on endpoint %u", endpointIds.at(0)); + + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000009, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000009) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000009, mRequest); + } + +private: + chip::app::Clusters::BridgedActions::Commands::EnableActionWithDuration::Type mRequest; +}; /* - * Command ExecutionOfACommand + * Command DisableAction */ -class ApplianceControlExecutionOfACommand : public ClusterCommand +class BridgedActionsDisableAction : public ClusterCommand { public: - ApplianceControlExecutionOfACommand(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("execution-of-acommand", credsIssuerConfig) + BridgedActionsDisableAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("disable-action", credsIssuerConfig) { - AddArgument("CommandId", 0, UINT8_MAX, &mRequest.commandId); + AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); + AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x0000000A) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000001B, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x0000000A, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x0000000A) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000001B, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x0000000A, mRequest); } private: - chip::app::Clusters::ApplianceControl::Commands::ExecutionOfACommand::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::DisableAction::Type mRequest; }; /* - * Command SignalState + * Command DisableActionWithDuration */ -class ApplianceControlSignalState : public ClusterCommand +class BridgedActionsDisableActionWithDuration : public ClusterCommand { public: - ApplianceControlSignalState(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("signal-state", credsIssuerConfig) + BridgedActionsDisableActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("disable-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(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000001) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x0000000B) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000001B, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x0000000B, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000001) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x0000000B) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000001B, 0x00000001, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x0000000B, mRequest); } private: - chip::app::Clusters::ApplianceControl::Commands::SignalState::Type mRequest; + chip::app::Clusters::BridgedActions::Commands::DisableActionWithDuration::Type mRequest; }; +/*----------------------------------------------------------------------------*\ +| Cluster Basic | 0x0028 | +|------------------------------------------------------------------------------| +| Commands: | | +| * MfgSpecificPing | 0x00 | +|------------------------------------------------------------------------------| +| 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 | +| * CapabilityMinima | 0x0013 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * StartUp | 0x0000 | +| * ShutDown | 0x0001 | +| * Leave | 0x0002 | +| * ReachableChanged | 0x0003 | +\*----------------------------------------------------------------------------*/ + /* - * Command WriteFunctions + * Command MfgSpecificPing */ -class ApplianceControlWriteFunctions : public ClusterCommand +class BasicMfgSpecificPing : public ClusterCommand { public: - ApplianceControlWriteFunctions(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("write-functions", credsIssuerConfig), mComplex_FunctionData(&mRequest.functionData) + BasicMfgSpecificPing(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("mfg-specific-ping", credsIssuerConfig) { - AddArgument("FunctionId", 0, UINT16_MAX, &mRequest.functionId); - AddArgument("FunctionDataType", 0, UINT8_MAX, &mRequest.functionDataType); - AddArgument("FunctionData", &mComplex_FunctionData); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000002) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000028) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000001B, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000028, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000002) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000028) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000001B, 0x00000002, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000028, 0x00000000, mRequest); } private: - chip::app::Clusters::ApplianceControl::Commands::WriteFunctions::Type mRequest; - TypedComplexArgument> mComplex_FunctionData; + chip::app::Clusters::Basic::Commands::MfgSpecificPing::Type mRequest; }; +/*----------------------------------------------------------------------------*\ +| Cluster OtaSoftwareUpdateProvider | 0x0029 | +|------------------------------------------------------------------------------| +| Commands: | | +| * QueryImage | 0x00 | +| * ApplyUpdateRequest | 0x02 | +| * NotifyUpdateApplied | 0x04 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + /* - * Command OverloadPauseResume + * Command QueryImage */ -class ApplianceControlOverloadPauseResume : public ClusterCommand +class OtaSoftwareUpdateProviderQueryImage : public ClusterCommand { public: - ApplianceControlOverloadPauseResume(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("overload-pause-resume", credsIssuerConfig) + 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(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000003) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000001B, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000029, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000003) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000001B, 0x00000003, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000029, 0x00000000, mRequest); } private: - chip::app::Clusters::ApplianceControl::Commands::OverloadPauseResume::Type mRequest; + chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::QueryImage::Type mRequest; + TypedComplexArgument> + mComplex_ProtocolsSupported; }; /* - * Command OverloadPause + * Command ApplyUpdateRequest */ -class ApplianceControlOverloadPause : public ClusterCommand +class OtaSoftwareUpdateProviderApplyUpdateRequest : public ClusterCommand { public: - ApplianceControlOverloadPause(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("overload-pause", credsIssuerConfig) + OtaSoftwareUpdateProviderApplyUpdateRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("apply-update-request", credsIssuerConfig) { + AddArgument("UpdateToken", &mRequest.updateToken); + AddArgument("NewVersion", 0, UINT32_MAX, &mRequest.newVersion); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000004) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000002) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000001B, 0x00000004, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000029, 0x00000002, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000004) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000002) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000001B, 0x00000004, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000029, 0x00000002, mRequest); } private: - chip::app::Clusters::ApplianceControl::Commands::OverloadPause::Type mRequest; + chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::ApplyUpdateRequest::Type mRequest; }; /* - * Command OverloadWarning + * Command NotifyUpdateApplied */ -class ApplianceControlOverloadWarning : public ClusterCommand +class OtaSoftwareUpdateProviderNotifyUpdateApplied : public ClusterCommand { public: - ApplianceControlOverloadWarning(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("overload-warning", credsIssuerConfig) + OtaSoftwareUpdateProviderNotifyUpdateApplied(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("notify-update-applied", credsIssuerConfig) { - AddArgument("WarningEvent", 0, UINT8_MAX, &mRequest.warningEvent); + AddArgument("UpdateToken", &mRequest.updateToken); + AddArgument("SoftwareVersion", 0, UINT32_MAX, &mRequest.softwareVersion); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000005) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000004) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000001B, 0x00000005, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000029, 0x00000004, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000001B) command (0x00000005) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000004) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000001B, 0x00000005, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000029, 0x00000004, mRequest); } private: - chip::app::Clusters::ApplianceControl::Commands::OverloadWarning::Type mRequest; + chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::NotifyUpdateApplied::Type mRequest; }; /*----------------------------------------------------------------------------*\ -| Cluster PulseWidthModulation | 0x001C | +| Cluster OtaSoftwareUpdateRequestor | 0x002A | |------------------------------------------------------------------------------| | Commands: | | +| * AnnounceOtaProvider | 0x00 | |------------------------------------------------------------------------------| | Attributes: | | +| * DefaultOtaProviders | 0x0000 | +| * UpdatePossible | 0x0001 | +| * UpdateState | 0x0002 | +| * UpdateStateProgress | 0x0003 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -2166,18 +2013,54 @@ class ApplianceControlOverloadWarning : public ClusterCommand | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | +| * StateTransition | 0x0000 | +| * VersionApplied | 0x0001 | +| * DownloadError | 0x0002 | \*----------------------------------------------------------------------------*/ +/* + * Command AnnounceOtaProvider + */ +class OtaSoftwareUpdateRequestorAnnounceOtaProvider : public ClusterCommand +{ +public: + OtaSoftwareUpdateRequestorAnnounceOtaProvider(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("announce-ota-provider", credsIssuerConfig) + { + AddArgument("ProviderNodeId", 0, UINT64_MAX, &mRequest.providerNodeId); + AddArgument("VendorId", 0, UINT16_MAX, &mRequest.vendorId); + AddArgument("AnnouncementReason", 0, UINT8_MAX, &mRequest.announcementReason); + AddArgument("MetadataForNode", &mRequest.metadataForNode); + AddArgument("Endpoint", 0, UINT16_MAX, &mRequest.endpoint); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000002A) command (0x00000000) on endpoint %u", endpointIds.at(0)); + + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000002A, 0x00000000, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000002A) command (0x00000000) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000002A, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::OtaSoftwareUpdateRequestor::Commands::AnnounceOtaProvider::Type mRequest; +}; + /*----------------------------------------------------------------------------*\ -| Cluster Descriptor | 0x001D | +| Cluster LocalizationConfiguration | 0x002B | |------------------------------------------------------------------------------| | Commands: | | |------------------------------------------------------------------------------| | Attributes: | | -| * DeviceList | 0x0000 | -| * ServerList | 0x0001 | -| * ClientList | 0x0002 | -| * PartsList | 0x0003 | +| * ActiveLocale | 0x0000 | +| * SupportedLocales | 0x0001 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -2188,12 +2071,14 @@ class ApplianceControlOverloadWarning : public ClusterCommand \*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*\ -| Cluster Binding | 0x001E | +| Cluster TimeFormatLocalization | 0x002C | |------------------------------------------------------------------------------| | Commands: | | |------------------------------------------------------------------------------| | Attributes: | | -| * Binding | 0x0000 | +| * HourFormat | 0x0000 | +| * ActiveCalendarType | 0x0001 | +| * SupportedCalendarTypes | 0x0002 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -2204,16 +2089,12 @@ class ApplianceControlOverloadWarning : public ClusterCommand \*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*\ -| Cluster AccessControl | 0x001F | +| Cluster UnitLocalization | 0x002D | |------------------------------------------------------------------------------| | Commands: | | |------------------------------------------------------------------------------| | Attributes: | | -| * Acl | 0x0000 | -| * Extension | 0x0001 | -| * SubjectsPerAccessControlEntry | 0x0002 | -| * TargetsPerAccessControlEntry | 0x0003 | -| * AccessControlEntriesPerFabric | 0x0004 | +| * TemperatureUnit | 0x0000 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -2221,27 +2102,15 @@ class ApplianceControlOverloadWarning : public ClusterCommand | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | -| * AccessControlEntryChanged | 0x0000 | -| * AccessControlExtensionChanged | 0x0001 | \*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*\ -| Cluster PollControl | 0x0020 | +| Cluster PowerSourceConfiguration | 0x002E | |------------------------------------------------------------------------------| | Commands: | | -| * CheckInResponse | 0x00 | -| * FastPollStop | 0x01 | -| * SetLongPollInterval | 0x02 | -| * SetShortPollInterval | 0x03 | |------------------------------------------------------------------------------| | Attributes: | | -| * CheckInInterval | 0x0000 | -| * LongPollInterval | 0x0001 | -| * ShortPollInterval | 0x0002 | -| * FastPollTimeout | 0x0003 | -| * CheckInIntervalMin | 0x0004 | -| * LongPollIntervalMin | 0x0005 | -| * FastPollTimeoutMax | 0x0006 | +| * Sources | 0x0000 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -2251,150 +2120,190 @@ class ApplianceControlOverloadWarning : public ClusterCommand | Events: | | \*----------------------------------------------------------------------------*/ -/* - * Command CheckInResponse - */ -class PollControlCheckInResponse : public ClusterCommand -{ -public: - PollControlCheckInResponse(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("check-in-response", credsIssuerConfig) - { - AddArgument("StartFastPolling", 0, 1, &mRequest.startFastPolling); - AddArgument("FastPollTimeout", 0, UINT16_MAX, &mRequest.fastPollTimeout); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000020) command (0x00000000) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000020, 0x00000000, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000020) command (0x00000000) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000020, 0x00000000, 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 | +| * BatVoltage | 0x000B | +| * BatPercentRemaining | 0x000C | +| * BatTimeRemaining | 0x000D | +| * BatChargeLevel | 0x000E | +| * BatReplacementNeeded | 0x000F | +| * BatReplaceability | 0x0010 | +| * BatPresent | 0x0011 | +| * ActiveBatFaults | 0x0012 | +| * BatReplacementDescription | 0x0013 | +| * BatCommonDesignation | 0x0014 | +| * BatANSIDesignation | 0x0015 | +| * BatIECDesignation | 0x0016 | +| * BatApprovedChemistry | 0x0017 | +| * BatCapacity | 0x0018 | +| * BatQuantity | 0x0019 | +| * BatChargeState | 0x001A | +| * BatTimeToFullCharge | 0x001B | +| * BatFunctionalWhileCharging | 0x001C | +| * BatChargingCurrent | 0x001D | +| * ActiveBatChargeFaults | 0x001E | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ -private: - chip::app::Clusters::PollControl::Commands::CheckInResponse::Type mRequest; -}; +/*----------------------------------------------------------------------------*\ +| Cluster GeneralCommissioning | 0x0030 | +|------------------------------------------------------------------------------| +| Commands: | | +| * ArmFailSafe | 0x00 | +| * SetRegulatoryConfig | 0x02 | +| * CommissioningComplete | 0x04 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * Breadcrumb | 0x0000 | +| * BasicCommissioningInfo | 0x0001 | +| * RegulatoryConfig | 0x0002 | +| * LocationCapability | 0x0003 | +| * SupportsConcurrentConnection | 0x0004 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ /* - * Command FastPollStop + * Command ArmFailSafe */ -class PollControlFastPollStop : public ClusterCommand +class GeneralCommissioningArmFailSafe : public ClusterCommand { public: - PollControlFastPollStop(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("fast-poll-stop", credsIssuerConfig) + GeneralCommissioningArmFailSafe(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("arm-fail-safe", credsIssuerConfig) { + AddArgument("ExpiryLengthSeconds", 0, UINT16_MAX, &mRequest.expiryLengthSeconds); + AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000020) command (0x00000001) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000020, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000030, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000020) command (0x00000001) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000020, 0x00000001, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000030, 0x00000000, mRequest); } private: - chip::app::Clusters::PollControl::Commands::FastPollStop::Type mRequest; + chip::app::Clusters::GeneralCommissioning::Commands::ArmFailSafe::Type mRequest; }; /* - * Command SetLongPollInterval + * Command SetRegulatoryConfig */ -class PollControlSetLongPollInterval : public ClusterCommand +class GeneralCommissioningSetRegulatoryConfig : public ClusterCommand { public: - PollControlSetLongPollInterval(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("set-long-poll-interval", credsIssuerConfig) + GeneralCommissioningSetRegulatoryConfig(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-regulatory-config", credsIssuerConfig) { - AddArgument("NewLongPollInterval", 0, UINT32_MAX, &mRequest.newLongPollInterval); + AddArgument("NewRegulatoryConfig", 0, UINT8_MAX, &mRequest.newRegulatoryConfig); + AddArgument("CountryCode", &mRequest.countryCode); + AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000020) command (0x00000002) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000002) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000020, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000030, 0x00000002, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000020) command (0x00000002) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000002) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000020, 0x00000002, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000030, 0x00000002, mRequest); } private: - chip::app::Clusters::PollControl::Commands::SetLongPollInterval::Type mRequest; + chip::app::Clusters::GeneralCommissioning::Commands::SetRegulatoryConfig::Type mRequest; }; /* - * Command SetShortPollInterval + * Command CommissioningComplete */ -class PollControlSetShortPollInterval : public ClusterCommand +class GeneralCommissioningCommissioningComplete : public ClusterCommand { public: - PollControlSetShortPollInterval(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("set-short-poll-interval", credsIssuerConfig) + GeneralCommissioningCommissioningComplete(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("commissioning-complete", credsIssuerConfig) { - AddArgument("NewShortPollInterval", 0, UINT16_MAX, &mRequest.newShortPollInterval); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000020) command (0x00000003) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000004) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000020, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000030, 0x00000004, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000020) command (0x00000003) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000004) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000020, 0x00000003, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000030, 0x00000004, mRequest); } private: - chip::app::Clusters::PollControl::Commands::SetShortPollInterval::Type mRequest; + chip::app::Clusters::GeneralCommissioning::Commands::CommissioningComplete::Type mRequest; }; /*----------------------------------------------------------------------------*\ -| Cluster BridgedActions | 0x0025 | +| Cluster NetworkCommissioning | 0x0031 | |------------------------------------------------------------------------------| | Commands: | | -| * InstantAction | 0x00 | -| * InstantActionWithTransition | 0x01 | -| * StartAction | 0x02 | -| * StartActionWithDuration | 0x03 | -| * StopAction | 0x04 | -| * PauseAction | 0x05 | -| * PauseActionWithDuration | 0x06 | -| * ResumeAction | 0x07 | -| * EnableAction | 0x08 | -| * EnableActionWithDuration | 0x09 | -| * DisableAction | 0x0A | -| * DisableActionWithDuration | 0x0B | +| * ScanNetworks | 0x00 | +| * AddOrUpdateWiFiNetwork | 0x02 | +| * AddOrUpdateThreadNetwork | 0x03 | +| * RemoveNetwork | 0x04 | +| * ConnectNetwork | 0x06 | +| * ReorderNetwork | 0x08 | |------------------------------------------------------------------------------| | Attributes: | | -| * ActionList | 0x0000 | -| * EndpointList | 0x0001 | -| * SetupUrl | 0x0002 | +| * MaxNetworks | 0x0000 | +| * Networks | 0x0001 | +| * ScanMaxTimeSeconds | 0x0002 | +| * ConnectMaxTimeSeconds | 0x0003 | +| * InterfaceEnabled | 0x0004 | +| * LastNetworkingStatus | 0x0005 | +| * LastNetworkID | 0x0006 | +| * LastConnectErrorValue | 0x0007 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -2402,419 +2311,433 @@ class PollControlSetShortPollInterval : public ClusterCommand | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | -| * StateChanged | 0x0000 | -| * ActionFailed | 0x0001 | \*----------------------------------------------------------------------------*/ /* - * Command InstantAction + * Command ScanNetworks */ -class BridgedActionsInstantAction : public ClusterCommand +class NetworkCommissioningScanNetworks : public ClusterCommand { public: - BridgedActionsInstantAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("instant-action", credsIssuerConfig) + NetworkCommissioningScanNetworks(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("scan-networks", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); + AddArgument("Ssid", &mRequest.ssid); + AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000000, mRequest); } private: - chip::app::Clusters::BridgedActions::Commands::InstantAction::Type mRequest; + chip::app::Clusters::NetworkCommissioning::Commands::ScanNetworks::Type mRequest; }; /* - * Command InstantActionWithTransition + * Command AddOrUpdateWiFiNetwork */ -class BridgedActionsInstantActionWithTransition : public ClusterCommand +class NetworkCommissioningAddOrUpdateWiFiNetwork : public ClusterCommand { public: - BridgedActionsInstantActionWithTransition(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("instant-action-with-transition", credsIssuerConfig) + NetworkCommissioningAddOrUpdateWiFiNetwork(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("add-or-update-wi-fi-network", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("Ssid", &mRequest.ssid); + AddArgument("Credentials", &mRequest.credentials); + AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000001) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000002) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000002, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000001) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000002) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000001, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000002, mRequest); } private: - chip::app::Clusters::BridgedActions::Commands::InstantActionWithTransition::Type mRequest; + chip::app::Clusters::NetworkCommissioning::Commands::AddOrUpdateWiFiNetwork::Type mRequest; }; /* - * Command StartAction + * Command AddOrUpdateThreadNetwork */ -class BridgedActionsStartAction : public ClusterCommand +class NetworkCommissioningAddOrUpdateThreadNetwork : public ClusterCommand { public: - BridgedActionsStartAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("start-action", credsIssuerConfig) + NetworkCommissioningAddOrUpdateThreadNetwork(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("add-or-update-thread-network", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); + AddArgument("OperationalDataset", &mRequest.operationalDataset); + AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000002) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000003) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000003, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000002) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000003) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000002, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000003, mRequest); } private: - chip::app::Clusters::BridgedActions::Commands::StartAction::Type mRequest; + chip::app::Clusters::NetworkCommissioning::Commands::AddOrUpdateThreadNetwork::Type mRequest; }; /* - * Command StartActionWithDuration + * Command RemoveNetwork */ -class BridgedActionsStartActionWithDuration : public ClusterCommand +class NetworkCommissioningRemoveNetwork : public ClusterCommand { public: - BridgedActionsStartActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("start-action-with-duration", credsIssuerConfig) + NetworkCommissioningRemoveNetwork(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("remove-network", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); - AddArgument("Duration", 0, UINT32_MAX, &mRequest.duration); + AddArgument("NetworkID", &mRequest.networkID); + AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000003) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000004) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000004, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000003) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000004) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000003, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000004, mRequest); } private: - chip::app::Clusters::BridgedActions::Commands::StartActionWithDuration::Type mRequest; + chip::app::Clusters::NetworkCommissioning::Commands::RemoveNetwork::Type mRequest; }; /* - * Command StopAction + * Command ConnectNetwork */ -class BridgedActionsStopAction : public ClusterCommand +class NetworkCommissioningConnectNetwork : public ClusterCommand { public: - BridgedActionsStopAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-action", credsIssuerConfig) + NetworkCommissioningConnectNetwork(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("connect-network", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); + AddArgument("NetworkID", &mRequest.networkID); + AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000004) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000006) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000004, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000006, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000004) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000006) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000004, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000006, mRequest); } private: - chip::app::Clusters::BridgedActions::Commands::StopAction::Type mRequest; + chip::app::Clusters::NetworkCommissioning::Commands::ConnectNetwork::Type mRequest; }; /* - * Command PauseAction + * Command ReorderNetwork */ -class BridgedActionsPauseAction : public ClusterCommand +class NetworkCommissioningReorderNetwork : public ClusterCommand { public: - BridgedActionsPauseAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("pause-action", credsIssuerConfig) + NetworkCommissioningReorderNetwork(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("reorder-network", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); + AddArgument("NetworkID", &mRequest.networkID); + AddArgument("NetworkIndex", 0, UINT8_MAX, &mRequest.networkIndex); + AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000005) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000008) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000005, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000008, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000005) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000008) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000005, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000008, mRequest); } private: - chip::app::Clusters::BridgedActions::Commands::PauseAction::Type mRequest; + chip::app::Clusters::NetworkCommissioning::Commands::ReorderNetwork::Type mRequest; }; -/* - * Command PauseActionWithDuration - */ -class BridgedActionsPauseActionWithDuration : public ClusterCommand -{ -public: - BridgedActionsPauseActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("pause-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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000006) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000006, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000006) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000006, mRequest); - } - -private: - chip::app::Clusters::BridgedActions::Commands::PauseActionWithDuration::Type mRequest; -}; +/*----------------------------------------------------------------------------*\ +| Cluster DiagnosticLogs | 0x0032 | +|------------------------------------------------------------------------------| +| Commands: | | +| * RetrieveLogsRequest | 0x00 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ /* - * Command ResumeAction + * Command RetrieveLogsRequest */ -class BridgedActionsResumeAction : public ClusterCommand +class DiagnosticLogsRetrieveLogsRequest : public ClusterCommand { public: - BridgedActionsResumeAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("resume-action", credsIssuerConfig) + DiagnosticLogsRetrieveLogsRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("retrieve-logs-request", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); + AddArgument("Intent", 0, UINT8_MAX, &mRequest.intent); + AddArgument("RequestedProtocol", 0, UINT8_MAX, &mRequest.requestedProtocol); + AddArgument("TransferFileDesignator", &mRequest.transferFileDesignator); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000007) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000032) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000007, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000032, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000007) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000032) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000007, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000032, 0x00000000, mRequest); } private: - chip::app::Clusters::BridgedActions::Commands::ResumeAction::Type mRequest; + chip::app::Clusters::DiagnosticLogs::Commands::RetrieveLogsRequest::Type mRequest; }; -/* - * Command EnableAction - */ -class BridgedActionsEnableAction : public ClusterCommand -{ -public: - BridgedActionsEnableAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("enable-action", credsIssuerConfig) - { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000008) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000008, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000008) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000008, mRequest); - } - -private: - chip::app::Clusters::BridgedActions::Commands::EnableAction::Type mRequest; -}; +/*----------------------------------------------------------------------------*\ +| Cluster GeneralDiagnostics | 0x0033 | +|------------------------------------------------------------------------------| +| Commands: | | +| * TestEventTrigger | 0x00 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * NetworkInterfaces | 0x0000 | +| * RebootCount | 0x0001 | +| * UpTime | 0x0002 | +| * TotalOperationalHours | 0x0003 | +| * BootReasons | 0x0004 | +| * ActiveHardwareFaults | 0x0005 | +| * ActiveRadioFaults | 0x0006 | +| * ActiveNetworkFaults | 0x0007 | +| * TestEventTriggersEnabled | 0x0008 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * HardwareFaultChange | 0x0000 | +| * RadioFaultChange | 0x0001 | +| * NetworkFaultChange | 0x0002 | +| * BootReason | 0x0003 | +\*----------------------------------------------------------------------------*/ /* - * Command EnableActionWithDuration + * Command TestEventTrigger */ -class BridgedActionsEnableActionWithDuration : public ClusterCommand +class GeneralDiagnosticsTestEventTrigger : public ClusterCommand { public: - BridgedActionsEnableActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("enable-action-with-duration", credsIssuerConfig) + GeneralDiagnosticsTestEventTrigger(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-event-trigger", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); - AddArgument("Duration", 0, UINT32_MAX, &mRequest.duration); + AddArgument("EnableKey", &mRequest.enableKey); + AddArgument("EventTrigger", 0, UINT64_MAX, &mRequest.eventTrigger); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000009) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000033) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000009, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000033, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000009) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000033) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000009, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000033, 0x00000000, mRequest); } private: - chip::app::Clusters::BridgedActions::Commands::EnableActionWithDuration::Type mRequest; + chip::app::Clusters::GeneralDiagnostics::Commands::TestEventTrigger::Type mRequest; }; +/*----------------------------------------------------------------------------*\ +| Cluster SoftwareDiagnostics | 0x0034 | +|------------------------------------------------------------------------------| +| Commands: | | +| * ResetWatermarks | 0x00 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ThreadMetrics | 0x0000 | +| * CurrentHeapFree | 0x0001 | +| * CurrentHeapUsed | 0x0002 | +| * CurrentHeapHighWatermark | 0x0003 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * SoftwareFault | 0x0000 | +\*----------------------------------------------------------------------------*/ + /* - * Command DisableAction + * Command ResetWatermarks */ -class BridgedActionsDisableAction : public ClusterCommand +class SoftwareDiagnosticsResetWatermarks : public ClusterCommand { public: - BridgedActionsDisableAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("disable-action", credsIssuerConfig) + SoftwareDiagnosticsResetWatermarks(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("reset-watermarks", credsIssuerConfig) { - AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID); - AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x0000000A) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000034) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x0000000A, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000034, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x0000000A) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000034) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x0000000A, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000034, 0x00000000, mRequest); } private: - chip::app::Clusters::BridgedActions::Commands::DisableAction::Type mRequest; -}; - -/* - * Command DisableActionWithDuration - */ -class BridgedActionsDisableActionWithDuration : public ClusterCommand -{ -public: - BridgedActionsDisableActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("disable-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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x0000000B) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x0000000B, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x0000000B) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x0000000B, mRequest); - } - -private: - chip::app::Clusters::BridgedActions::Commands::DisableActionWithDuration::Type mRequest; + chip::app::Clusters::SoftwareDiagnostics::Commands::ResetWatermarks::Type mRequest; }; /*----------------------------------------------------------------------------*\ -| Cluster Basic | 0x0028 | +| Cluster ThreadNetworkDiagnostics | 0x0035 | |------------------------------------------------------------------------------| | Commands: | | -| * MfgSpecificPing | 0x00 | +| * ResetCounts | 0x00 | |------------------------------------------------------------------------------| | 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 | -| * CapabilityMinima | 0x0013 | +| * 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 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -2822,50 +2745,59 @@ class BridgedActionsDisableActionWithDuration : public ClusterCommand | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | -| * StartUp | 0x0000 | -| * ShutDown | 0x0001 | -| * Leave | 0x0002 | -| * ReachableChanged | 0x0003 | +| * ConnectionStatus | 0x0000 | \*----------------------------------------------------------------------------*/ /* - * Command MfgSpecificPing + * Command ResetCounts */ -class BasicMfgSpecificPing : public ClusterCommand +class ThreadNetworkDiagnosticsResetCounts : public ClusterCommand { public: - BasicMfgSpecificPing(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("mfg-specific-ping", credsIssuerConfig) + ThreadNetworkDiagnosticsResetCounts(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("reset-counts", credsIssuerConfig) { ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000028) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000035) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000028, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000035, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000028) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000035) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000028, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000035, 0x00000000, mRequest); } private: - chip::app::Clusters::Basic::Commands::MfgSpecificPing::Type mRequest; + chip::app::Clusters::ThreadNetworkDiagnostics::Commands::ResetCounts::Type mRequest; }; /*----------------------------------------------------------------------------*\ -| Cluster OtaSoftwareUpdateProvider | 0x0029 | +| Cluster WiFiNetworkDiagnostics | 0x0036 | |------------------------------------------------------------------------------| | Commands: | | -| * QueryImage | 0x00 | -| * ApplyUpdateRequest | 0x02 | -| * NotifyUpdateApplied | 0x04 | +| * 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 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -2873,212 +2805,102 @@ class BasicMfgSpecificPing : public ClusterCommand | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | +| * Disconnection | 0x0000 | +| * AssociationFailure | 0x0001 | +| * ConnectionStatus | 0x0002 | \*----------------------------------------------------------------------------*/ /* - * Command QueryImage + * Command ResetCounts */ -class OtaSoftwareUpdateProviderQueryImage : public ClusterCommand +class WiFiNetworkDiagnosticsResetCounts : public ClusterCommand { public: - OtaSoftwareUpdateProviderQueryImage(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("query-image", credsIssuerConfig), mComplex_ProtocolsSupported(&mRequest.protocolsSupported) + WiFiNetworkDiagnosticsResetCounts(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("reset-counts", credsIssuerConfig) { - 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(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000036) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000029, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000036, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000036) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000029, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000036, 0x00000000, mRequest); } private: - chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::QueryImage::Type mRequest; - TypedComplexArgument> - mComplex_ProtocolsSupported; + chip::app::Clusters::WiFiNetworkDiagnostics::Commands::ResetCounts::Type mRequest; }; -/* - * 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000002) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000029, 0x00000002, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000002) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000029, 0x00000002, mRequest); - } - -private: - chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::ApplyUpdateRequest::Type mRequest; -}; +/*----------------------------------------------------------------------------*\ +| 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 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ /* - * Command NotifyUpdateApplied + * Command ResetCounts */ -class OtaSoftwareUpdateProviderNotifyUpdateApplied : public ClusterCommand +class EthernetNetworkDiagnosticsResetCounts : public ClusterCommand { public: - OtaSoftwareUpdateProviderNotifyUpdateApplied(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("notify-update-applied", credsIssuerConfig) + EthernetNetworkDiagnosticsResetCounts(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("reset-counts", credsIssuerConfig) { - AddArgument("UpdateToken", &mRequest.updateToken); - AddArgument("SoftwareVersion", 0, UINT32_MAX, &mRequest.softwareVersion); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000004) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000037) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000029, 0x00000004, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000037, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000004) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000037) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000029, 0x00000004, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000037, 0x00000000, mRequest); } private: - chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::NotifyUpdateApplied::Type mRequest; + chip::app::Clusters::EthernetNetworkDiagnostics::Commands::ResetCounts::Type mRequest; }; /*----------------------------------------------------------------------------*\ -| Cluster OtaSoftwareUpdateRequestor | 0x002A | +| Cluster TimeSynchronization | 0x0038 | |------------------------------------------------------------------------------| | Commands: | | -| * AnnounceOtaProvider | 0x00 | |------------------------------------------------------------------------------| | Attributes: | | -| * DefaultOtaProviders | 0x0000 | -| * UpdatePossible | 0x0001 | -| * UpdateState | 0x0002 | -| * UpdateStateProgress | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * StateTransition | 0x0000 | -| * VersionApplied | 0x0001 | -| * DownloadError | 0x0002 | -\*----------------------------------------------------------------------------*/ - -/* - * Command AnnounceOtaProvider - */ -class OtaSoftwareUpdateRequestorAnnounceOtaProvider : public ClusterCommand -{ -public: - OtaSoftwareUpdateRequestorAnnounceOtaProvider(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("announce-ota-provider", credsIssuerConfig) - { - AddArgument("ProviderNodeId", 0, UINT64_MAX, &mRequest.providerNodeId); - AddArgument("VendorId", 0, UINT16_MAX, &mRequest.vendorId); - AddArgument("AnnouncementReason", 0, UINT8_MAX, &mRequest.announcementReason); - AddArgument("MetadataForNode", &mRequest.metadataForNode); - AddArgument("Endpoint", 0, UINT16_MAX, &mRequest.endpoint); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x0000002A) command (0x00000000) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000002A, 0x00000000, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x0000002A) command (0x00000000) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000002A, 0x00000000, mRequest); - } - -private: - chip::app::Clusters::OtaSoftwareUpdateRequestor::Commands::AnnounceOtaProvider::Type mRequest; -}; - -/*----------------------------------------------------------------------------*\ -| Cluster LocalizationConfiguration | 0x002B | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * ActiveLocale | 0x0000 | -| * SupportedLocales | 0x0001 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster TimeFormatLocalization | 0x002C | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * HourFormat | 0x0000 | -| * ActiveCalendarType | 0x0001 | -| * SupportedCalendarTypes | 0x0002 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster UnitLocalization | 0x002D | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * TemperatureUnit | 0x0000 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -3089,12 +2911,26 @@ class OtaSoftwareUpdateRequestorAnnounceOtaProvider : public ClusterCommand \*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*\ -| Cluster PowerSourceConfiguration | 0x002E | +| Cluster BridgedDeviceBasic | 0x0039 | |------------------------------------------------------------------------------| | Commands: | | |------------------------------------------------------------------------------| | Attributes: | | -| * Sources | 0x0000 | +| * 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 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -3102,45 +2938,21 @@ class OtaSoftwareUpdateRequestorAnnounceOtaProvider : public ClusterCommand | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | +| * StartUp | 0x0000 | +| * ShutDown | 0x0001 | +| * Leave | 0x0002 | +| * ReachableChanged | 0x0003 | \*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*\ -| Cluster PowerSource | 0x002F | +| Cluster Switch | 0x003B | |------------------------------------------------------------------------------| | Commands: | | |------------------------------------------------------------------------------| | Attributes: | | -| * Status | 0x0000 | -| * Order | 0x0001 | -| * Description | 0x0002 | -| * WiredAssessedInputVoltage | 0x0003 | -| * WiredAssessedInputFrequency | 0x0004 | -| * WiredCurrentType | 0x0005 | -| * WiredAssessedCurrent | 0x0006 | -| * WiredNominalVoltage | 0x0007 | -| * WiredMaximumCurrent | 0x0008 | -| * WiredPresent | 0x0009 | -| * ActiveWiredFaults | 0x000A | -| * BatVoltage | 0x000B | -| * BatPercentRemaining | 0x000C | -| * BatTimeRemaining | 0x000D | -| * BatChargeLevel | 0x000E | -| * BatReplacementNeeded | 0x000F | -| * BatReplaceability | 0x0010 | -| * BatPresent | 0x0011 | -| * ActiveBatFaults | 0x0012 | -| * BatReplacementDescription | 0x0013 | -| * BatCommonDesignation | 0x0014 | -| * BatANSIDesignation | 0x0015 | -| * BatIECDesignation | 0x0016 | -| * BatApprovedChemistry | 0x0017 | -| * BatCapacity | 0x0018 | -| * BatQuantity | 0x0019 | -| * BatChargeState | 0x001A | -| * BatTimeToFullCharge | 0x001B | -| * BatFunctionalWhileCharging | 0x001C | -| * BatChargingCurrent | 0x001D | -| * ActiveBatChargeFaults | 0x001E | +| * NumberOfPositions | 0x0000 | +| * CurrentPosition | 0x0001 | +| * MultiPressMax | 0x0002 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -3148,22 +2960,27 @@ class OtaSoftwareUpdateRequestorAnnounceOtaProvider : public ClusterCommand | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | +| * SwitchLatched | 0x0000 | +| * InitialPress | 0x0001 | +| * LongPress | 0x0002 | +| * ShortRelease | 0x0003 | +| * LongRelease | 0x0004 | +| * MultiPressOngoing | 0x0005 | +| * MultiPressComplete | 0x0006 | \*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*\ -| Cluster GeneralCommissioning | 0x0030 | +| Cluster AdministratorCommissioning | 0x003C | |------------------------------------------------------------------------------| | Commands: | | -| * ArmFailSafe | 0x00 | -| * SetRegulatoryConfig | 0x02 | -| * CommissioningComplete | 0x04 | +| * OpenCommissioningWindow | 0x00 | +| * OpenBasicCommissioningWindow | 0x01 | +| * RevokeCommissioning | 0x02 | |------------------------------------------------------------------------------| | Attributes: | | -| * Breadcrumb | 0x0000 | -| * BasicCommissioningInfo | 0x0001 | -| * RegulatoryConfig | 0x0002 | -| * LocationCapability | 0x0003 | -| * SupportsConcurrentConnection | 0x0004 | +| * WindowStatus | 0x0000 | +| * AdminFabricIndex | 0x0001 | +| * AdminVendorId | 0x0002 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -3174,120 +2991,121 @@ class OtaSoftwareUpdateRequestorAnnounceOtaProvider : public ClusterCommand \*----------------------------------------------------------------------------*/ /* - * Command ArmFailSafe + * Command OpenCommissioningWindow */ -class GeneralCommissioningArmFailSafe : public ClusterCommand +class AdministratorCommissioningOpenCommissioningWindow : public ClusterCommand { public: - GeneralCommissioningArmFailSafe(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("arm-fail-safe", credsIssuerConfig) + AdministratorCommissioningOpenCommissioningWindow(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("open-commissioning-window", credsIssuerConfig) { - AddArgument("ExpiryLengthSeconds", 0, UINT16_MAX, &mRequest.expiryLengthSeconds); - AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); + 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); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000030, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003C, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000030, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003C, 0x00000000, mRequest); } private: - chip::app::Clusters::GeneralCommissioning::Commands::ArmFailSafe::Type mRequest; + chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type mRequest; }; /* - * Command SetRegulatoryConfig + * Command OpenBasicCommissioningWindow */ -class GeneralCommissioningSetRegulatoryConfig : public ClusterCommand +class AdministratorCommissioningOpenBasicCommissioningWindow : public ClusterCommand { public: - GeneralCommissioningSetRegulatoryConfig(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("set-regulatory-config", credsIssuerConfig) + AdministratorCommissioningOpenBasicCommissioningWindow(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("open-basic-commissioning-window", credsIssuerConfig) { - AddArgument("NewRegulatoryConfig", 0, UINT8_MAX, &mRequest.newRegulatoryConfig); - AddArgument("CountryCode", &mRequest.countryCode); - AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); + AddArgument("CommissioningTimeout", 0, UINT16_MAX, &mRequest.commissioningTimeout); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000002) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000001) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000030, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003C, 0x00000001, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000002) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000001) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000030, 0x00000002, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003C, 0x00000001, mRequest); } private: - chip::app::Clusters::GeneralCommissioning::Commands::SetRegulatoryConfig::Type mRequest; + chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type mRequest; }; /* - * Command CommissioningComplete + * Command RevokeCommissioning */ -class GeneralCommissioningCommissioningComplete : public ClusterCommand +class AdministratorCommissioningRevokeCommissioning : public ClusterCommand { public: - GeneralCommissioningCommissioningComplete(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("commissioning-complete", credsIssuerConfig) + AdministratorCommissioningRevokeCommissioning(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("revoke-commissioning", credsIssuerConfig) { ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000004) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000002) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000030, 0x00000004, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003C, 0x00000002, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000004) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000002) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000030, 0x00000004, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003C, 0x00000002, mRequest); } private: - chip::app::Clusters::GeneralCommissioning::Commands::CommissioningComplete::Type mRequest; + chip::app::Clusters::AdministratorCommissioning::Commands::RevokeCommissioning::Type mRequest; }; /*----------------------------------------------------------------------------*\ -| Cluster NetworkCommissioning | 0x0031 | +| Cluster OperationalCredentials | 0x003E | |------------------------------------------------------------------------------| | Commands: | | -| * ScanNetworks | 0x00 | -| * AddOrUpdateWiFiNetwork | 0x02 | -| * AddOrUpdateThreadNetwork | 0x03 | -| * RemoveNetwork | 0x04 | -| * ConnectNetwork | 0x06 | -| * ReorderNetwork | 0x08 | +| * AttestationRequest | 0x00 | +| * CertificateChainRequest | 0x02 | +| * CSRRequest | 0x04 | +| * AddNOC | 0x06 | +| * UpdateNOC | 0x07 | +| * UpdateFabricLabel | 0x09 | +| * RemoveFabric | 0x0A | +| * AddTrustedRootCertificate | 0x0B | |------------------------------------------------------------------------------| | Attributes: | | -| * MaxNetworks | 0x0000 | -| * Networks | 0x0001 | -| * ScanMaxTimeSeconds | 0x0002 | -| * ConnectMaxTimeSeconds | 0x0003 | -| * InterfaceEnabled | 0x0004 | -| * LastNetworkingStatus | 0x0005 | -| * LastNetworkID | 0x0006 | -| * LastConnectErrorValue | 0x0007 | +| * NOCs | 0x0000 | +| * Fabrics | 0x0001 | +| * SupportedFabrics | 0x0002 | +| * CommissionedFabrics | 0x0003 | +| * TrustedRootCertificates | 0x0004 | +| * CurrentFabricIndex | 0x0005 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -3298,320 +3116,270 @@ class GeneralCommissioningCommissioningComplete : public ClusterCommand \*----------------------------------------------------------------------------*/ /* - * Command ScanNetworks + * Command AttestationRequest */ -class NetworkCommissioningScanNetworks : public ClusterCommand +class OperationalCredentialsAttestationRequest : public ClusterCommand { public: - NetworkCommissioningScanNetworks(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("scan-networks", credsIssuerConfig) + OperationalCredentialsAttestationRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("attestation-request", credsIssuerConfig) { - AddArgument("Ssid", &mRequest.ssid); - AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); + AddArgument("AttestationNonce", &mRequest.attestationNonce); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000000, mRequest); } private: - chip::app::Clusters::NetworkCommissioning::Commands::ScanNetworks::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::AttestationRequest::Type mRequest; }; /* - * Command AddOrUpdateWiFiNetwork + * Command CertificateChainRequest */ -class NetworkCommissioningAddOrUpdateWiFiNetwork : public ClusterCommand +class OperationalCredentialsCertificateChainRequest : public ClusterCommand { public: - NetworkCommissioningAddOrUpdateWiFiNetwork(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("add-or-update-wi-fi-network", credsIssuerConfig) + OperationalCredentialsCertificateChainRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("certificate-chain-request", credsIssuerConfig) { - AddArgument("Ssid", &mRequest.ssid); - AddArgument("Credentials", &mRequest.credentials); - AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); + AddArgument("CertificateType", 0, UINT8_MAX, &mRequest.certificateType); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000002) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000002) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000002, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000002) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000002) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000002, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000002, mRequest); } private: - chip::app::Clusters::NetworkCommissioning::Commands::AddOrUpdateWiFiNetwork::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::CertificateChainRequest::Type mRequest; }; /* - * Command AddOrUpdateThreadNetwork + * Command CSRRequest */ -class NetworkCommissioningAddOrUpdateThreadNetwork : public ClusterCommand +class OperationalCredentialsCSRRequest : public ClusterCommand { public: - NetworkCommissioningAddOrUpdateThreadNetwork(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("add-or-update-thread-network", credsIssuerConfig) + OperationalCredentialsCSRRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("csrrequest", credsIssuerConfig) { - AddArgument("OperationalDataset", &mRequest.operationalDataset); - AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); + AddArgument("CSRNonce", &mRequest.CSRNonce); + AddArgument("IsForUpdateNOC", 0, 1, &mRequest.isForUpdateNOC); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000003) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000004) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000004, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000003) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000004) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000003, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000004, mRequest); } private: - chip::app::Clusters::NetworkCommissioning::Commands::AddOrUpdateThreadNetwork::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::CSRRequest::Type mRequest; }; /* - * Command RemoveNetwork + * Command AddNOC */ -class NetworkCommissioningRemoveNetwork : public ClusterCommand +class OperationalCredentialsAddNOC : public ClusterCommand { public: - NetworkCommissioningRemoveNetwork(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("remove-network", credsIssuerConfig) + OperationalCredentialsAddNOC(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("add-noc", credsIssuerConfig) { - AddArgument("NetworkID", &mRequest.networkID); - AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); + AddArgument("NOCValue", &mRequest.NOCValue); + AddArgument("ICACValue", &mRequest.ICACValue); + AddArgument("IPKValue", &mRequest.IPKValue); + AddArgument("CaseAdminSubject", 0, UINT64_MAX, &mRequest.caseAdminSubject); + AddArgument("AdminVendorId", 0, UINT16_MAX, &mRequest.adminVendorId); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000004) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000006) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000004, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000006, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000004) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000006) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000004, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000006, mRequest); } private: - chip::app::Clusters::NetworkCommissioning::Commands::RemoveNetwork::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::AddNOC::Type mRequest; }; /* - * Command ConnectNetwork + * Command UpdateNOC */ -class NetworkCommissioningConnectNetwork : public ClusterCommand +class OperationalCredentialsUpdateNOC : public ClusterCommand { public: - NetworkCommissioningConnectNetwork(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("connect-network", credsIssuerConfig) + OperationalCredentialsUpdateNOC(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("update-noc", credsIssuerConfig) { - AddArgument("NetworkID", &mRequest.networkID); - AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); + AddArgument("NOCValue", &mRequest.NOCValue); + AddArgument("ICACValue", &mRequest.ICACValue); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000006) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000007) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000006, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000007, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000006) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000007) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000006, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000007, mRequest); } private: - chip::app::Clusters::NetworkCommissioning::Commands::ConnectNetwork::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::UpdateNOC::Type mRequest; }; /* - * Command ReorderNetwork + * Command UpdateFabricLabel */ -class NetworkCommissioningReorderNetwork : public ClusterCommand +class OperationalCredentialsUpdateFabricLabel : public ClusterCommand { public: - NetworkCommissioningReorderNetwork(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("reorder-network", credsIssuerConfig) + OperationalCredentialsUpdateFabricLabel(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("update-fabric-label", credsIssuerConfig) { - AddArgument("NetworkID", &mRequest.networkID); - AddArgument("NetworkIndex", 0, UINT8_MAX, &mRequest.networkIndex); - AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb); + AddArgument("Label", &mRequest.label); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000008) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000009) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000008, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000009, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000008) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000009) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000008, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000009, mRequest); } private: - chip::app::Clusters::NetworkCommissioning::Commands::ReorderNetwork::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::UpdateFabricLabel::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster DiagnosticLogs | 0x0032 | -|------------------------------------------------------------------------------| -| Commands: | | -| * RetrieveLogsRequest | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command RetrieveLogsRequest + * Command RemoveFabric */ -class DiagnosticLogsRetrieveLogsRequest : public ClusterCommand +class OperationalCredentialsRemoveFabric : public ClusterCommand { public: - DiagnosticLogsRetrieveLogsRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("retrieve-logs-request", credsIssuerConfig) + OperationalCredentialsRemoveFabric(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("remove-fabric", credsIssuerConfig) { - AddArgument("Intent", 0, UINT8_MAX, &mRequest.intent); - AddArgument("RequestedProtocol", 0, UINT8_MAX, &mRequest.requestedProtocol); - AddArgument("TransferFileDesignator", &mRequest.transferFileDesignator); + AddArgument("FabricIndex", 0, UINT8_MAX, &mRequest.fabricIndex); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000032) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000A) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000032, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x0000000A, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000032) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000A) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000032, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x0000000A, mRequest); } private: - chip::app::Clusters::DiagnosticLogs::Commands::RetrieveLogsRequest::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::RemoveFabric::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster GeneralDiagnostics | 0x0033 | -|------------------------------------------------------------------------------| -| Commands: | | -| * TestEventTrigger | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * NetworkInterfaces | 0x0000 | -| * RebootCount | 0x0001 | -| * UpTime | 0x0002 | -| * TotalOperationalHours | 0x0003 | -| * BootReasons | 0x0004 | -| * ActiveHardwareFaults | 0x0005 | -| * ActiveRadioFaults | 0x0006 | -| * ActiveNetworkFaults | 0x0007 | -| * TestEventTriggersEnabled | 0x0008 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * HardwareFaultChange | 0x0000 | -| * RadioFaultChange | 0x0001 | -| * NetworkFaultChange | 0x0002 | -| * BootReason | 0x0003 | -\*----------------------------------------------------------------------------*/ - /* - * Command TestEventTrigger + * Command AddTrustedRootCertificate */ -class GeneralDiagnosticsTestEventTrigger : public ClusterCommand +class OperationalCredentialsAddTrustedRootCertificate : public ClusterCommand { public: - GeneralDiagnosticsTestEventTrigger(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-event-trigger", credsIssuerConfig) + OperationalCredentialsAddTrustedRootCertificate(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("add-trusted-root-certificate", credsIssuerConfig) { - AddArgument("EnableKey", &mRequest.enableKey); - AddArgument("EventTrigger", 0, UINT64_MAX, &mRequest.eventTrigger); + AddArgument("RootCertificate", &mRequest.rootCertificate); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000033) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000B) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000033, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x0000000B, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000033) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000B) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000033, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x0000000B, mRequest); } private: - chip::app::Clusters::GeneralDiagnostics::Commands::TestEventTrigger::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::AddTrustedRootCertificate::Type mRequest; }; /*----------------------------------------------------------------------------*\ -| Cluster SoftwareDiagnostics | 0x0034 | +| Cluster GroupKeyManagement | 0x003F | |------------------------------------------------------------------------------| | Commands: | | -| * ResetWatermarks | 0x00 | +| * KeySetWrite | 0x00 | +| * KeySetRead | 0x01 | +| * KeySetRemove | 0x03 | +| * KeySetReadAllIndices | 0x04 | |------------------------------------------------------------------------------| | Attributes: | | -| * ThreadMetrics | 0x0000 | -| * CurrentHeapFree | 0x0001 | -| * CurrentHeapUsed | 0x0002 | -| * CurrentHeapHighWatermark | 0x0003 | +| * GroupKeyMap | 0x0000 | +| * GroupTable | 0x0001 | +| * MaxGroupsPerFabric | 0x0002 | +| * MaxGroupKeysPerFabric | 0x0003 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -3619,272 +3387,140 @@ class GeneralDiagnosticsTestEventTrigger : public ClusterCommand | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | -| * SoftwareFault | 0x0000 | \*----------------------------------------------------------------------------*/ /* - * Command ResetWatermarks + * Command KeySetWrite */ -class SoftwareDiagnosticsResetWatermarks : public ClusterCommand +class GroupKeyManagementKeySetWrite : public ClusterCommand { public: - SoftwareDiagnosticsResetWatermarks(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("reset-watermarks", credsIssuerConfig) + GroupKeyManagementKeySetWrite(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("key-set-write", credsIssuerConfig), mComplex_GroupKeySet(&mRequest.groupKeySet) { + AddArgument("GroupKeySet", &mComplex_GroupKeySet); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000034) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000034, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003F, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000034) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000034, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003F, 0x00000000, mRequest); } private: - chip::app::Clusters::SoftwareDiagnostics::Commands::ResetWatermarks::Type mRequest; + chip::app::Clusters::GroupKeyManagement::Commands::KeySetWrite::Type mRequest; + TypedComplexArgument mComplex_GroupKeySet; }; -/*----------------------------------------------------------------------------*\ -| 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 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * ConnectionStatus | 0x0000 | -\*----------------------------------------------------------------------------*/ - /* - * Command ResetCounts + * Command KeySetRead */ -class ThreadNetworkDiagnosticsResetCounts : public ClusterCommand +class GroupKeyManagementKeySetRead : public ClusterCommand { public: - ThreadNetworkDiagnosticsResetCounts(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("reset-counts", credsIssuerConfig) + GroupKeyManagementKeySetRead(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("key-set-read", credsIssuerConfig) { + AddArgument("GroupKeySetID", 0, UINT16_MAX, &mRequest.groupKeySetID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000035) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000001) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000035, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003F, 0x00000001, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000035) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000001) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000035, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003F, 0x00000001, mRequest); } private: - chip::app::Clusters::ThreadNetworkDiagnostics::Commands::ResetCounts::Type mRequest; + chip::app::Clusters::GroupKeyManagement::Commands::KeySetRead::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| 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 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * Disconnection | 0x0000 | -| * AssociationFailure | 0x0001 | -| * ConnectionStatus | 0x0002 | -\*----------------------------------------------------------------------------*/ - /* - * Command ResetCounts + * Command KeySetRemove */ -class WiFiNetworkDiagnosticsResetCounts : public ClusterCommand +class GroupKeyManagementKeySetRemove : public ClusterCommand { public: - WiFiNetworkDiagnosticsResetCounts(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("reset-counts", credsIssuerConfig) + GroupKeyManagementKeySetRemove(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("key-set-remove", credsIssuerConfig) { + AddArgument("GroupKeySetID", 0, UINT16_MAX, &mRequest.groupKeySetID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000036) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000003) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000036, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003F, 0x00000003, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000036) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000003) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000036, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003F, 0x00000003, mRequest); } private: - chip::app::Clusters::WiFiNetworkDiagnostics::Commands::ResetCounts::Type mRequest; + chip::app::Clusters::GroupKeyManagement::Commands::KeySetRemove::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| 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 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command ResetCounts + * Command KeySetReadAllIndices */ -class EthernetNetworkDiagnosticsResetCounts : public ClusterCommand +class GroupKeyManagementKeySetReadAllIndices : public ClusterCommand { public: - EthernetNetworkDiagnosticsResetCounts(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("reset-counts", credsIssuerConfig) + GroupKeyManagementKeySetReadAllIndices(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("key-set-read-all-indices", credsIssuerConfig), mComplex_GroupKeySetIDs(&mRequest.groupKeySetIDs) { + AddArgument("GroupKeySetIDs", &mComplex_GroupKeySetIDs); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000037) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000004) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000037, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003F, 0x00000004, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000037) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000004) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000037, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003F, 0x00000004, mRequest); } private: - chip::app::Clusters::EthernetNetworkDiagnostics::Commands::ResetCounts::Type mRequest; + chip::app::Clusters::GroupKeyManagement::Commands::KeySetReadAllIndices::Type mRequest; + TypedComplexArgument> mComplex_GroupKeySetIDs; }; /*----------------------------------------------------------------------------*\ -| Cluster TimeSynchronization | 0x0038 | +| Cluster FixedLabel | 0x0040 | |------------------------------------------------------------------------------| | Commands: | | |------------------------------------------------------------------------------| | Attributes: | | +| * LabelList | 0x0000 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -3895,26 +3531,12 @@ class EthernetNetworkDiagnosticsResetCounts : public ClusterCommand \*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*\ -| Cluster BridgedDeviceBasic | 0x0039 | +| Cluster UserLabel | 0x0041 | |------------------------------------------------------------------------------| | 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 | -| * UniqueID | 0x0012 | +| * LabelList | 0x0000 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -3922,21 +3544,14 @@ class EthernetNetworkDiagnosticsResetCounts : public ClusterCommand | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | -| * StartUp | 0x0000 | -| * ShutDown | 0x0001 | -| * Leave | 0x0002 | -| * ReachableChanged | 0x0003 | \*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*\ -| Cluster Switch | 0x003B | +| Cluster ProxyConfiguration | 0x0042 | |------------------------------------------------------------------------------| | Commands: | | |------------------------------------------------------------------------------| | Attributes: | | -| * NumberOfPositions | 0x0000 | -| * CurrentPosition | 0x0001 | -| * MultiPressMax | 0x0002 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -3944,27 +3559,14 @@ class EthernetNetworkDiagnosticsResetCounts : public ClusterCommand | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | -| * SwitchLatched | 0x0000 | -| * InitialPress | 0x0001 | -| * LongPress | 0x0002 | -| * ShortRelease | 0x0003 | -| * LongRelease | 0x0004 | -| * MultiPressOngoing | 0x0005 | -| * MultiPressComplete | 0x0006 | \*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*\ -| Cluster AdministratorCommissioning | 0x003C | +| Cluster ProxyDiscovery | 0x0043 | |------------------------------------------------------------------------------| | Commands: | | -| * OpenCommissioningWindow | 0x00 | -| * OpenBasicCommissioningWindow | 0x01 | -| * RevokeCommissioning | 0x02 | |------------------------------------------------------------------------------| | Attributes: | | -| * WindowStatus | 0x0000 | -| * AdminFabricIndex | 0x0001 | -| * AdminVendorId | 0x0002 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -3974,122 +3576,150 @@ class EthernetNetworkDiagnosticsResetCounts : public ClusterCommand | Events: | | \*----------------------------------------------------------------------------*/ -/* - * Command OpenCommissioningWindow - */ -class AdministratorCommissioningOpenCommissioningWindow : public ClusterCommand -{ -public: - AdministratorCommissioningOpenCommissioningWindow(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("open-commissioning-window", 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); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000000) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003C, 0x00000000, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000000) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003C, 0x00000000, mRequest); - } - -private: - chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type mRequest; -}; - -/* - * Command OpenBasicCommissioningWindow - */ -class AdministratorCommissioningOpenBasicCommissioningWindow : public ClusterCommand -{ -public: - AdministratorCommissioningOpenBasicCommissioningWindow(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("open-basic-commissioning-window", credsIssuerConfig) - { - AddArgument("CommissioningTimeout", 0, UINT16_MAX, &mRequest.commissioningTimeout); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000001) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003C, 0x00000001, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000001) on Group %u", groupId); +/*----------------------------------------------------------------------------*\ +| Cluster ProxyValid | 0x0044 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003C, 0x00000001, mRequest); - } +/*----------------------------------------------------------------------------*\ +| Cluster BooleanState | 0x0045 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * StateValue | 0x0000 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * StateChange | 0x0000 | +\*----------------------------------------------------------------------------*/ -private: - chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type mRequest; -}; +/*----------------------------------------------------------------------------*\ +| Cluster ModeSelect | 0x0050 | +|------------------------------------------------------------------------------| +| Commands: | | +| * ChangeToMode | 0x00 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * Description | 0x0000 | +| * StandardNamespace | 0x0001 | +| * SupportedModes | 0x0002 | +| * CurrentMode | 0x0003 | +| * StartUpMode | 0x0004 | +| * OnMode | 0x0005 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ /* - * Command RevokeCommissioning + * Command ChangeToMode */ -class AdministratorCommissioningRevokeCommissioning : public ClusterCommand +class ModeSelectChangeToMode : public ClusterCommand { public: - AdministratorCommissioningRevokeCommissioning(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("revoke-commissioning", credsIssuerConfig) + ModeSelectChangeToMode(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("change-to-mode", credsIssuerConfig) { + AddArgument("NewMode", 0, UINT8_MAX, &mRequest.newMode); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000002) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000050) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003C, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000050, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000002) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000050) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003C, 0x00000002, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000050, 0x00000000, mRequest); } private: - chip::app::Clusters::AdministratorCommissioning::Commands::RevokeCommissioning::Type mRequest; + chip::app::Clusters::ModeSelect::Commands::ChangeToMode::Type mRequest; }; /*----------------------------------------------------------------------------*\ -| Cluster OperationalCredentials | 0x003E | +| Cluster DoorLock | 0x0101 | |------------------------------------------------------------------------------| | Commands: | | -| * AttestationRequest | 0x00 | -| * CertificateChainRequest | 0x02 | -| * CSRRequest | 0x04 | -| * AddNOC | 0x06 | -| * UpdateNOC | 0x07 | -| * UpdateFabricLabel | 0x09 | -| * RemoveFabric | 0x0A | -| * AddTrustedRootCertificate | 0x0B | +| * LockDoor | 0x00 | +| * UnlockDoor | 0x01 | +| * UnlockWithTimeout | 0x03 | +| * SetWeekDaySchedule | 0x0B | +| * GetWeekDaySchedule | 0x0C | +| * ClearWeekDaySchedule | 0x0D | +| * SetYearDaySchedule | 0x0E | +| * GetYearDaySchedule | 0x0F | +| * ClearYearDaySchedule | 0x10 | +| * SetHolidaySchedule | 0x11 | +| * GetHolidaySchedule | 0x12 | +| * ClearHolidaySchedule | 0x13 | +| * SetUser | 0x1A | +| * GetUser | 0x1B | +| * ClearUser | 0x1D | +| * SetCredential | 0x22 | +| * GetCredentialStatus | 0x24 | +| * ClearCredential | 0x26 | |------------------------------------------------------------------------------| | Attributes: | | -| * NOCs | 0x0000 | -| * Fabrics | 0x0001 | -| * SupportedFabrics | 0x0002 | -| * CommissionedFabrics | 0x0003 | -| * TrustedRootCertificates | 0x0004 | -| * CurrentFabricIndex | 0x0005 | +| * LockState | 0x0000 | +| * LockType | 0x0001 | +| * ActuatorEnabled | 0x0002 | +| * DoorState | 0x0003 | +| * DoorOpenEvents | 0x0004 | +| * DoorClosedEvents | 0x0005 | +| * OpenPeriod | 0x0006 | +| * NumberOfTotalUsersSupported | 0x0011 | +| * NumberOfPINUsersSupported | 0x0012 | +| * NumberOfRFIDUsersSupported | 0x0013 | +| * NumberOfWeekDaySchedulesSupportedPerUser | 0x0014 | +| * NumberOfYearDaySchedulesSupportedPerUser | 0x0015 | +| * NumberOfHolidaySchedulesSupported | 0x0016 | +| * MaxPINCodeLength | 0x0017 | +| * MinPINCodeLength | 0x0018 | +| * MaxRFIDCodeLength | 0x0019 | +| * MinRFIDCodeLength | 0x001A | +| * CredentialRulesSupport | 0x001B | +| * NumberOfCredentialsSupportedPerUser | 0x001C | +| * 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 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -4097,1267 +3727,1316 @@ class AdministratorCommissioningRevokeCommissioning : public ClusterCommand | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | +| * DoorLockAlarm | 0x0000 | +| * DoorStateChange | 0x0001 | +| * LockOperation | 0x0002 | +| * LockOperationError | 0x0003 | +| * LockUserChange | 0x0004 | \*----------------------------------------------------------------------------*/ /* - * Command AttestationRequest + * Command LockDoor */ -class OperationalCredentialsAttestationRequest : public ClusterCommand +class DoorLockLockDoor : public ClusterCommand { public: - OperationalCredentialsAttestationRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("attestation-request", credsIssuerConfig) + DoorLockLockDoor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("lock-door", credsIssuerConfig) { - AddArgument("AttestationNonce", &mRequest.attestationNonce); + AddArgument("PinCode", &mRequest.pinCode); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000000, mRequest); } private: - chip::app::Clusters::OperationalCredentials::Commands::AttestationRequest::Type mRequest; + chip::app::Clusters::DoorLock::Commands::LockDoor::Type mRequest; }; /* - * Command CertificateChainRequest + * Command UnlockDoor */ -class OperationalCredentialsCertificateChainRequest : public ClusterCommand +class DoorLockUnlockDoor : public ClusterCommand { public: - OperationalCredentialsCertificateChainRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("certificate-chain-request", credsIssuerConfig) + DoorLockUnlockDoor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("unlock-door", credsIssuerConfig) { - AddArgument("CertificateType", 0, UINT8_MAX, &mRequest.certificateType); + AddArgument("PinCode", &mRequest.pinCode); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000002) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000001) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000001, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000002) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000001) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000002, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000001, mRequest); } private: - chip::app::Clusters::OperationalCredentials::Commands::CertificateChainRequest::Type mRequest; + chip::app::Clusters::DoorLock::Commands::UnlockDoor::Type mRequest; }; /* - * Command CSRRequest + * Command UnlockWithTimeout */ -class OperationalCredentialsCSRRequest : public ClusterCommand +class DoorLockUnlockWithTimeout : public ClusterCommand { public: - OperationalCredentialsCSRRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("csrrequest", credsIssuerConfig) + DoorLockUnlockWithTimeout(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("unlock-with-timeout", credsIssuerConfig) { - AddArgument("CSRNonce", &mRequest.CSRNonce); - AddArgument("IsForUpdateNOC", 0, 1, &mRequest.isForUpdateNOC); + AddArgument("Timeout", 0, UINT16_MAX, &mRequest.timeout); + AddArgument("PinCode", &mRequest.pinCode); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000004) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000003) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000004, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000003, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000004) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000003) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000004, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000003, mRequest); } private: - chip::app::Clusters::OperationalCredentials::Commands::CSRRequest::Type mRequest; + chip::app::Clusters::DoorLock::Commands::UnlockWithTimeout::Type mRequest; }; /* - * Command AddNOC + * Command SetWeekDaySchedule */ -class OperationalCredentialsAddNOC : public ClusterCommand +class DoorLockSetWeekDaySchedule : public ClusterCommand { public: - OperationalCredentialsAddNOC(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("add-noc", credsIssuerConfig) + DoorLockSetWeekDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-week-day-schedule", credsIssuerConfig) { - AddArgument("NOCValue", &mRequest.NOCValue); - AddArgument("ICACValue", &mRequest.ICACValue); - AddArgument("IPKValue", &mRequest.IPKValue); - AddArgument("CaseAdminSubject", 0, UINT64_MAX, &mRequest.caseAdminSubject); - AddArgument("AdminVendorId", 0, UINT16_MAX, &mRequest.adminVendorId); + 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000006) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000B) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000006, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000000B, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000006) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000B) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000006, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000000B, mRequest); } private: - chip::app::Clusters::OperationalCredentials::Commands::AddNOC::Type mRequest; + chip::app::Clusters::DoorLock::Commands::SetWeekDaySchedule::Type mRequest; }; /* - * Command UpdateNOC + * Command GetWeekDaySchedule */ -class OperationalCredentialsUpdateNOC : public ClusterCommand +class DoorLockGetWeekDaySchedule : public ClusterCommand { public: - OperationalCredentialsUpdateNOC(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("update-noc", credsIssuerConfig) + DoorLockGetWeekDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-week-day-schedule", credsIssuerConfig) { - AddArgument("NOCValue", &mRequest.NOCValue); - AddArgument("ICACValue", &mRequest.ICACValue); + AddArgument("WeekDayIndex", 0, UINT8_MAX, &mRequest.weekDayIndex); + AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000007) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000C) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000007, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000000C, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000007) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000C) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000007, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000000C, mRequest); } private: - chip::app::Clusters::OperationalCredentials::Commands::UpdateNOC::Type mRequest; + chip::app::Clusters::DoorLock::Commands::GetWeekDaySchedule::Type mRequest; }; /* - * Command UpdateFabricLabel + * Command ClearWeekDaySchedule */ -class OperationalCredentialsUpdateFabricLabel : public ClusterCommand +class DoorLockClearWeekDaySchedule : public ClusterCommand { public: - OperationalCredentialsUpdateFabricLabel(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("update-fabric-label", credsIssuerConfig) + DoorLockClearWeekDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("clear-week-day-schedule", credsIssuerConfig) { - AddArgument("Label", &mRequest.label); + AddArgument("WeekDayIndex", 0, UINT8_MAX, &mRequest.weekDayIndex); + AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000009) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000D) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000009, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000000D, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000009) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000D) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000009, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000000D, mRequest); } private: - chip::app::Clusters::OperationalCredentials::Commands::UpdateFabricLabel::Type mRequest; + chip::app::Clusters::DoorLock::Commands::ClearWeekDaySchedule::Type mRequest; }; /* - * Command RemoveFabric + * Command SetYearDaySchedule */ -class OperationalCredentialsRemoveFabric : public ClusterCommand +class DoorLockSetYearDaySchedule : public ClusterCommand { public: - OperationalCredentialsRemoveFabric(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("remove-fabric", credsIssuerConfig) + DoorLockSetYearDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-year-day-schedule", credsIssuerConfig) { - AddArgument("FabricIndex", 0, UINT8_MAX, &mRequest.fabricIndex); + 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000A) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000E) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x0000000A, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000000E, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000A) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000E) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x0000000A, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000000E, mRequest); } private: - chip::app::Clusters::OperationalCredentials::Commands::RemoveFabric::Type mRequest; + chip::app::Clusters::DoorLock::Commands::SetYearDaySchedule::Type mRequest; }; /* - * Command AddTrustedRootCertificate + * Command GetYearDaySchedule */ -class OperationalCredentialsAddTrustedRootCertificate : public ClusterCommand +class DoorLockGetYearDaySchedule : public ClusterCommand { public: - OperationalCredentialsAddTrustedRootCertificate(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("add-trusted-root-certificate", credsIssuerConfig) + DoorLockGetYearDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-year-day-schedule", credsIssuerConfig) { - AddArgument("RootCertificate", &mRequest.rootCertificate); + AddArgument("YearDayIndex", 0, UINT8_MAX, &mRequest.yearDayIndex); + AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000B) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000F) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x0000000B, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000000F, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000B) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000F) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x0000000B, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000000F, mRequest); } private: - chip::app::Clusters::OperationalCredentials::Commands::AddTrustedRootCertificate::Type mRequest; + chip::app::Clusters::DoorLock::Commands::GetYearDaySchedule::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster GroupKeyManagement | 0x003F | -|------------------------------------------------------------------------------| -| Commands: | | -| * KeySetWrite | 0x00 | -| * KeySetRead | 0x01 | -| * KeySetRemove | 0x03 | -| * KeySetReadAllIndices | 0x04 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * GroupKeyMap | 0x0000 | -| * GroupTable | 0x0001 | -| * MaxGroupsPerFabric | 0x0002 | -| * MaxGroupKeysPerFabric | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command KeySetWrite + * Command ClearYearDaySchedule */ -class GroupKeyManagementKeySetWrite : public ClusterCommand +class DoorLockClearYearDaySchedule : public ClusterCommand { public: - GroupKeyManagementKeySetWrite(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("key-set-write", credsIssuerConfig), mComplex_GroupKeySet(&mRequest.groupKeySet) + DoorLockClearYearDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("clear-year-day-schedule", credsIssuerConfig) { - AddArgument("GroupKeySet", &mComplex_GroupKeySet); + AddArgument("YearDayIndex", 0, UINT8_MAX, &mRequest.yearDayIndex); + AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000010) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003F, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000010, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000010) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003F, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000010, mRequest); } private: - chip::app::Clusters::GroupKeyManagement::Commands::KeySetWrite::Type mRequest; - TypedComplexArgument mComplex_GroupKeySet; + chip::app::Clusters::DoorLock::Commands::ClearYearDaySchedule::Type mRequest; }; /* - * Command KeySetRead + * Command SetHolidaySchedule */ -class GroupKeyManagementKeySetRead : public ClusterCommand +class DoorLockSetHolidaySchedule : public ClusterCommand { public: - GroupKeyManagementKeySetRead(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("key-set-read", credsIssuerConfig) + DoorLockSetHolidaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-holiday-schedule", credsIssuerConfig) { - AddArgument("GroupKeySetID", 0, UINT16_MAX, &mRequest.groupKeySetID); + 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000001) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000011) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003F, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000011, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000001) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000011) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003F, 0x00000001, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000011, mRequest); } private: - chip::app::Clusters::GroupKeyManagement::Commands::KeySetRead::Type mRequest; + chip::app::Clusters::DoorLock::Commands::SetHolidaySchedule::Type mRequest; }; /* - * Command KeySetRemove + * Command GetHolidaySchedule */ -class GroupKeyManagementKeySetRemove : public ClusterCommand +class DoorLockGetHolidaySchedule : public ClusterCommand { public: - GroupKeyManagementKeySetRemove(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("key-set-remove", credsIssuerConfig) + DoorLockGetHolidaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-holiday-schedule", credsIssuerConfig) { - AddArgument("GroupKeySetID", 0, UINT16_MAX, &mRequest.groupKeySetID); + AddArgument("HolidayIndex", 0, UINT8_MAX, &mRequest.holidayIndex); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000003) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000012) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003F, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000012, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000003) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000012) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003F, 0x00000003, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000012, mRequest); } private: - chip::app::Clusters::GroupKeyManagement::Commands::KeySetRemove::Type mRequest; + chip::app::Clusters::DoorLock::Commands::GetHolidaySchedule::Type mRequest; }; /* - * Command KeySetReadAllIndices + * Command ClearHolidaySchedule */ -class GroupKeyManagementKeySetReadAllIndices : public ClusterCommand +class DoorLockClearHolidaySchedule : public ClusterCommand { public: - GroupKeyManagementKeySetReadAllIndices(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("key-set-read-all-indices", credsIssuerConfig), mComplex_GroupKeySetIDs(&mRequest.groupKeySetIDs) + DoorLockClearHolidaySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("clear-holiday-schedule", credsIssuerConfig) { - AddArgument("GroupKeySetIDs", &mComplex_GroupKeySetIDs); + AddArgument("HolidayIndex", 0, UINT8_MAX, &mRequest.holidayIndex); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000004) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000013) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003F, 0x00000004, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000013, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000004) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000013) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003F, 0x00000004, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000013, mRequest); } private: - chip::app::Clusters::GroupKeyManagement::Commands::KeySetReadAllIndices::Type mRequest; - TypedComplexArgument> mComplex_GroupKeySetIDs; + chip::app::Clusters::DoorLock::Commands::ClearHolidaySchedule::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster FixedLabel | 0x0040 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * LabelList | 0x0000 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ +/* + * Command SetUser + */ +class DoorLockSetUser : public ClusterCommand +{ +public: + DoorLockSetUser(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("set-user", 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); + ClusterCommand::AddArguments(); + } -/*----------------------------------------------------------------------------*\ -| Cluster UserLabel | 0x0041 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * LabelList | 0x0000 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster ProxyConfiguration | 0x0042 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001A) on endpoint %u", endpointIds.at(0)); -/*----------------------------------------------------------------------------*\ -| Cluster ProxyDiscovery | 0x0043 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000001A, mRequest); + } -/*----------------------------------------------------------------------------*\ -| Cluster ProxyValid | 0x0044 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001A) on Group %u", groupId); -/*----------------------------------------------------------------------------*\ -| Cluster BooleanState | 0x0045 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * StateValue | 0x0000 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * StateChange | 0x0000 | -\*----------------------------------------------------------------------------*/ + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000001A, mRequest); + } -/*----------------------------------------------------------------------------*\ -| Cluster ModeSelect | 0x0050 | -|------------------------------------------------------------------------------| -| Commands: | | -| * ChangeToMode | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * Description | 0x0000 | -| * StandardNamespace | 0x0001 | -| * SupportedModes | 0x0002 | -| * CurrentMode | 0x0003 | -| * StartUpMode | 0x0004 | -| * OnMode | 0x0005 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ +private: + chip::app::Clusters::DoorLock::Commands::SetUser::Type mRequest; +}; /* - * Command ChangeToMode + * Command GetUser */ -class ModeSelectChangeToMode : public ClusterCommand +class DoorLockGetUser : public ClusterCommand { public: - ModeSelectChangeToMode(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("change-to-mode", credsIssuerConfig) + DoorLockGetUser(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-user", credsIssuerConfig) { - AddArgument("NewMode", 0, UINT8_MAX, &mRequest.newMode); + AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000050) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001B) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000050, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000001B, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000050) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001B) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000050, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000001B, mRequest); } private: - chip::app::Clusters::ModeSelect::Commands::ChangeToMode::Type mRequest; + chip::app::Clusters::DoorLock::Commands::GetUser::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster ShadeConfiguration | 0x0100 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * PhysicalClosedLimit | 0x0000 | -| * MotorStepSize | 0x0001 | -| * Status | 0x0002 | -| * ClosedLimit | 0x0010 | -| * Mode | 0x0011 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster DoorLock | 0x0101 | -|------------------------------------------------------------------------------| -| Commands: | | -| * LockDoor | 0x00 | -| * UnlockDoor | 0x01 | -| * UnlockWithTimeout | 0x03 | -| * SetWeekDaySchedule | 0x0B | -| * GetWeekDaySchedule | 0x0C | -| * ClearWeekDaySchedule | 0x0D | -| * SetYearDaySchedule | 0x0E | -| * GetYearDaySchedule | 0x0F | -| * ClearYearDaySchedule | 0x10 | -| * SetHolidaySchedule | 0x11 | -| * GetHolidaySchedule | 0x12 | -| * ClearHolidaySchedule | 0x13 | -| * 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 | -| * NumberOfTotalUsersSupported | 0x0011 | -| * NumberOfPINUsersSupported | 0x0012 | -| * NumberOfRFIDUsersSupported | 0x0013 | -| * NumberOfWeekDaySchedulesSupportedPerUser | 0x0014 | -| * NumberOfYearDaySchedulesSupportedPerUser | 0x0015 | -| * NumberOfHolidaySchedulesSupported | 0x0016 | -| * MaxPINCodeLength | 0x0017 | -| * MinPINCodeLength | 0x0018 | -| * MaxRFIDCodeLength | 0x0019 | -| * MinRFIDCodeLength | 0x001A | -| * CredentialRulesSupport | 0x001B | -| * NumberOfCredentialsSupportedPerUser | 0x001C | -| * 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 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -| * DoorLockAlarm | 0x0000 | -| * DoorStateChange | 0x0001 | -| * LockOperation | 0x0002 | -| * LockOperationError | 0x0003 | -| * LockUserChange | 0x0004 | -\*----------------------------------------------------------------------------*/ - /* - * Command LockDoor + * Command ClearUser */ -class DoorLockLockDoor : public ClusterCommand +class DoorLockClearUser : public ClusterCommand { public: - DoorLockLockDoor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("lock-door", credsIssuerConfig) + DoorLockClearUser(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("clear-user", credsIssuerConfig) { - AddArgument("PinCode", &mRequest.pinCode); + AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001D) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000001D, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001D) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000001D, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::LockDoor::Type mRequest; + chip::app::Clusters::DoorLock::Commands::ClearUser::Type mRequest; }; /* - * Command UnlockDoor + * Command SetCredential */ -class DoorLockUnlockDoor : public ClusterCommand +class DoorLockSetCredential : public ClusterCommand { public: - DoorLockUnlockDoor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("unlock-door", credsIssuerConfig) + DoorLockSetCredential(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-credential", credsIssuerConfig), mComplex_Credential(&mRequest.credential) { - AddArgument("PinCode", &mRequest.pinCode); + 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000001) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000022) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000022, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000001) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000022) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000001, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000022, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::UnlockDoor::Type mRequest; + chip::app::Clusters::DoorLock::Commands::SetCredential::Type mRequest; + TypedComplexArgument mComplex_Credential; }; /* - * Command UnlockWithTimeout + * Command GetCredentialStatus */ -class DoorLockUnlockWithTimeout : public ClusterCommand +class DoorLockGetCredentialStatus : public ClusterCommand { public: - DoorLockUnlockWithTimeout(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("unlock-with-timeout", credsIssuerConfig) + DoorLockGetCredentialStatus(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-credential-status", credsIssuerConfig), mComplex_Credential(&mRequest.credential) { - AddArgument("Timeout", 0, UINT16_MAX, &mRequest.timeout); - AddArgument("PinCode", &mRequest.pinCode); + AddArgument("Credential", &mComplex_Credential); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000003) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000024) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000024, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000003) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000024) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000003, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000024, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::UnlockWithTimeout::Type mRequest; + chip::app::Clusters::DoorLock::Commands::GetCredentialStatus::Type mRequest; + TypedComplexArgument mComplex_Credential; }; /* - * Command SetWeekDaySchedule + * Command ClearCredential */ -class DoorLockSetWeekDaySchedule : public ClusterCommand +class DoorLockClearCredential : public ClusterCommand { public: - DoorLockSetWeekDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("set-week-day-schedule", credsIssuerConfig) + DoorLockClearCredential(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("clear-credential", credsIssuerConfig), mComplex_Credential(&mRequest.credential) { - 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("Credential", &mComplex_Credential); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000B) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000026) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000000B, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000026, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000B) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000026) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000000B, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000026, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::SetWeekDaySchedule::Type mRequest; + chip::app::Clusters::DoorLock::Commands::ClearCredential::Type mRequest; + TypedComplexArgument> + mComplex_Credential; }; +/*----------------------------------------------------------------------------*\ +| 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 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + /* - * Command GetWeekDaySchedule + * Command UpOrOpen */ -class DoorLockGetWeekDaySchedule : public ClusterCommand +class WindowCoveringUpOrOpen : public ClusterCommand { public: - DoorLockGetWeekDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-week-day-schedule", credsIssuerConfig) + WindowCoveringUpOrOpen(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("up-or-open", credsIssuerConfig) { - AddArgument("WeekDayIndex", 0, UINT8_MAX, &mRequest.weekDayIndex); - AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000C) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000000C, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000C) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000000C, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000000, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::GetWeekDaySchedule::Type mRequest; + chip::app::Clusters::WindowCovering::Commands::UpOrOpen::Type mRequest; }; /* - * Command ClearWeekDaySchedule + * Command DownOrClose */ -class DoorLockClearWeekDaySchedule : public ClusterCommand +class WindowCoveringDownOrClose : public ClusterCommand { public: - DoorLockClearWeekDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("clear-week-day-schedule", credsIssuerConfig) + WindowCoveringDownOrClose(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("down-or-close", credsIssuerConfig) { - AddArgument("WeekDayIndex", 0, UINT8_MAX, &mRequest.weekDayIndex); - AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000D) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000001) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000000D, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000001, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000D) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000001) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000000D, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000001, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::ClearWeekDaySchedule::Type mRequest; + chip::app::Clusters::WindowCovering::Commands::DownOrClose::Type mRequest; }; /* - * Command SetYearDaySchedule + * Command StopMotion */ -class DoorLockSetYearDaySchedule : public ClusterCommand +class WindowCoveringStopMotion : public ClusterCommand { public: - DoorLockSetYearDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("set-year-day-schedule", credsIssuerConfig) + WindowCoveringStopMotion(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-motion", 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); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000E) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000002) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000000E, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000002, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000E) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000002) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000000E, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000002, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::SetYearDaySchedule::Type mRequest; + chip::app::Clusters::WindowCovering::Commands::StopMotion::Type mRequest; }; /* - * Command GetYearDaySchedule + * Command GoToLiftValue */ -class DoorLockGetYearDaySchedule : public ClusterCommand +class WindowCoveringGoToLiftValue : public ClusterCommand { public: - DoorLockGetYearDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-year-day-schedule", credsIssuerConfig) + WindowCoveringGoToLiftValue(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("go-to-lift-value", credsIssuerConfig) { - AddArgument("YearDayIndex", 0, UINT8_MAX, &mRequest.yearDayIndex); - AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); + AddArgument("LiftValue", 0, UINT16_MAX, &mRequest.liftValue); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000F) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000004) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000000F, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000004, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000F) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000004) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000000F, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000004, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::GetYearDaySchedule::Type mRequest; + chip::app::Clusters::WindowCovering::Commands::GoToLiftValue::Type mRequest; }; /* - * Command ClearYearDaySchedule + * Command GoToLiftPercentage */ -class DoorLockClearYearDaySchedule : public ClusterCommand +class WindowCoveringGoToLiftPercentage : public ClusterCommand { public: - DoorLockClearYearDaySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("clear-year-day-schedule", credsIssuerConfig) + WindowCoveringGoToLiftPercentage(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("go-to-lift-percentage", credsIssuerConfig) { - AddArgument("YearDayIndex", 0, UINT8_MAX, &mRequest.yearDayIndex); - AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); + AddArgument("LiftPercent100thsValue", 0, UINT16_MAX, &mRequest.liftPercent100thsValue); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000010) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000005) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000010, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000005, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000010) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000005) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000010, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000005, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::ClearYearDaySchedule::Type mRequest; + chip::app::Clusters::WindowCovering::Commands::GoToLiftPercentage::Type mRequest; }; /* - * Command SetHolidaySchedule + * Command GoToTiltValue */ -class DoorLockSetHolidaySchedule : public ClusterCommand +class WindowCoveringGoToTiltValue : public ClusterCommand { public: - DoorLockSetHolidaySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("set-holiday-schedule", credsIssuerConfig) + WindowCoveringGoToTiltValue(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("go-to-tilt-value", credsIssuerConfig) { - 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); + AddArgument("TiltValue", 0, UINT16_MAX, &mRequest.tiltValue); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000011) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000007) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000011, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000007, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000011) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000007) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000011, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000007, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::SetHolidaySchedule::Type mRequest; + chip::app::Clusters::WindowCovering::Commands::GoToTiltValue::Type mRequest; }; /* - * Command GetHolidaySchedule + * Command GoToTiltPercentage */ -class DoorLockGetHolidaySchedule : public ClusterCommand +class WindowCoveringGoToTiltPercentage : public ClusterCommand { public: - DoorLockGetHolidaySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-holiday-schedule", credsIssuerConfig) + WindowCoveringGoToTiltPercentage(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("go-to-tilt-percentage", credsIssuerConfig) { - AddArgument("HolidayIndex", 0, UINT8_MAX, &mRequest.holidayIndex); + AddArgument("TiltPercent100thsValue", 0, UINT16_MAX, &mRequest.tiltPercent100thsValue); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000012) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000008) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000012, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000008, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000012) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000008) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000012, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000008, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::GetHolidaySchedule::Type mRequest; + chip::app::Clusters::WindowCovering::Commands::GoToTiltPercentage::Type mRequest; }; -/* - * Command ClearHolidaySchedule - */ -class DoorLockClearHolidaySchedule : public ClusterCommand -{ -public: - DoorLockClearHolidaySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("clear-holiday-schedule", credsIssuerConfig) - { - AddArgument("HolidayIndex", 0, UINT8_MAX, &mRequest.holidayIndex); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000013) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000013, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000013) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000013, mRequest); - } - -private: - chip::app::Clusters::DoorLock::Commands::ClearHolidaySchedule::Type mRequest; -}; +/*----------------------------------------------------------------------------*\ +| 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 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ /* - * Command SetUser + * Command BarrierControlGoToPercent */ -class DoorLockSetUser : public ClusterCommand +class BarrierControlBarrierControlGoToPercent : public ClusterCommand { public: - DoorLockSetUser(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("set-user", credsIssuerConfig) + BarrierControlBarrierControlGoToPercent(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("barrier-control-go-to-percent", 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("PercentOpen", 0, UINT8_MAX, &mRequest.percentOpen); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001A) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000103) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000001A, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000103, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001A) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000103) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000001A, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000103, 0x00000000, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::SetUser::Type mRequest; + chip::app::Clusters::BarrierControl::Commands::BarrierControlGoToPercent::Type mRequest; }; /* - * Command GetUser + * Command BarrierControlStop */ -class DoorLockGetUser : public ClusterCommand +class BarrierControlBarrierControlStop : public ClusterCommand { public: - DoorLockGetUser(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-user", credsIssuerConfig) + BarrierControlBarrierControlStop(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("barrier-control-stop", credsIssuerConfig) { - AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001B) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000103) command (0x00000001) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000001B, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000103, 0x00000001, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001B) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000103) command (0x00000001) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000001B, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000103, 0x00000001, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::GetUser::Type mRequest; + chip::app::Clusters::BarrierControl::Commands::BarrierControlStop::Type mRequest; }; +/*----------------------------------------------------------------------------*\ +| Cluster PumpConfigurationAndControl | 0x0200 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| 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 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 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 | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster Thermostat | 0x0201 | +|------------------------------------------------------------------------------| +| Commands: | | +| * SetpointRaiseLower | 0x00 | +| * SetWeeklySchedule | 0x01 | +| * GetWeeklySchedule | 0x02 | +| * ClearWeeklySchedule | 0x03 | +|------------------------------------------------------------------------------| +| 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 | +| * ThermostatRunningMode | 0x001E | +| * StartOfWeek | 0x0020 | +| * NumberOfWeeklyTransitions | 0x0021 | +| * NumberOfDailyTransitions | 0x0022 | +| * TemperatureSetpointHold | 0x0023 | +| * TemperatureSetpointHoldDuration | 0x0024 | +| * ThermostatProgrammingOperationMode | 0x0025 | +| * ThermostatRunningState | 0x0029 | +| * SetpointChangeSource | 0x0030 | +| * SetpointChangeAmount | 0x0031 | +| * SetpointChangeSourceTimestamp | 0x0032 | +| * OccupiedSetback | 0x0034 | +| * OccupiedSetbackMin | 0x0035 | +| * OccupiedSetbackMax | 0x0036 | +| * UnoccupiedSetback | 0x0037 | +| * UnoccupiedSetbackMin | 0x0038 | +| * UnoccupiedSetbackMax | 0x0039 | +| * EmergencyHeatDelta | 0x003A | +| * ACType | 0x0040 | +| * ACCapacity | 0x0041 | +| * ACRefrigerantType | 0x0042 | +| * ACCompressorType | 0x0043 | +| * ACErrorCode | 0x0044 | +| * ACLouverPosition | 0x0045 | +| * ACCoilTemperature | 0x0046 | +| * ACCapacityformat | 0x0047 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + /* - * Command ClearUser + * Command SetpointRaiseLower */ -class DoorLockClearUser : public ClusterCommand +class ThermostatSetpointRaiseLower : public ClusterCommand { public: - DoorLockClearUser(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("clear-user", credsIssuerConfig) + ThermostatSetpointRaiseLower(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("setpoint-raise-lower", credsIssuerConfig) { - AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex); + AddArgument("Mode", 0, UINT8_MAX, &mRequest.mode); + AddArgument("Amount", INT8_MIN, INT8_MAX, &mRequest.amount); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001D) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000001D, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000201, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001D) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000001D, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000201, 0x00000000, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::ClearUser::Type mRequest; + chip::app::Clusters::Thermostat::Commands::SetpointRaiseLower::Type mRequest; }; /* - * Command SetCredential + * Command SetWeeklySchedule */ -class DoorLockSetCredential : public ClusterCommand +class ThermostatSetWeeklySchedule : public ClusterCommand { public: - DoorLockSetCredential(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("set-credential", credsIssuerConfig), mComplex_Credential(&mRequest.credential) + ThermostatSetWeeklySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-weekly-schedule", credsIssuerConfig), mComplex_Transitions(&mRequest.transitions) { - 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("NumberOfTransitionsForSequence", 0, UINT8_MAX, &mRequest.numberOfTransitionsForSequence); + AddArgument("DayOfWeekForSequence", 0, UINT8_MAX, &mRequest.dayOfWeekForSequence); + AddArgument("ModeForSequence", 0, UINT8_MAX, &mRequest.modeForSequence); + AddArgument("Transitions", &mComplex_Transitions); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000022) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000001) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000022, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000201, 0x00000001, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000022) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000001) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000022, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000201, 0x00000001, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::SetCredential::Type mRequest; - TypedComplexArgument mComplex_Credential; + chip::app::Clusters::Thermostat::Commands::SetWeeklySchedule::Type mRequest; + TypedComplexArgument< + chip::app::DataModel::List> + mComplex_Transitions; }; /* - * Command GetCredentialStatus + * Command GetWeeklySchedule */ -class DoorLockGetCredentialStatus : public ClusterCommand +class ThermostatGetWeeklySchedule : public ClusterCommand { public: - DoorLockGetCredentialStatus(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-credential-status", credsIssuerConfig), mComplex_Credential(&mRequest.credential) + ThermostatGetWeeklySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-weekly-schedule", credsIssuerConfig) { - AddArgument("Credential", &mComplex_Credential); + AddArgument("DaysToReturn", 0, UINT8_MAX, &mRequest.daysToReturn); + AddArgument("ModeToReturn", 0, UINT8_MAX, &mRequest.modeToReturn); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000024) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000002) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000024, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000201, 0x00000002, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000024) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000002) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000024, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000201, 0x00000002, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::GetCredentialStatus::Type mRequest; - TypedComplexArgument mComplex_Credential; + chip::app::Clusters::Thermostat::Commands::GetWeeklySchedule::Type mRequest; }; /* - * Command ClearCredential + * Command ClearWeeklySchedule */ -class DoorLockClearCredential : public ClusterCommand +class ThermostatClearWeeklySchedule : public ClusterCommand { public: - DoorLockClearCredential(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("clear-credential", credsIssuerConfig), mComplex_Credential(&mRequest.credential) + ThermostatClearWeeklySchedule(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("clear-weekly-schedule", credsIssuerConfig) { - AddArgument("Credential", &mComplex_Credential); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000026) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000003) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000026, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000201, 0x00000003, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000026) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000003) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000026, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000201, 0x00000003, mRequest); } private: - chip::app::Clusters::DoorLock::Commands::ClearCredential::Type mRequest; - TypedComplexArgument> - mComplex_Credential; + chip::app::Clusters::Thermostat::Commands::ClearWeeklySchedule::Type mRequest; }; /*----------------------------------------------------------------------------*\ -| Cluster WindowCovering | 0x0102 | +| Cluster FanControl | 0x0202 | |------------------------------------------------------------------------------| | 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 | +| * FanMode | 0x0000 | +| * FanModeSequence | 0x0001 | +| * PercentSetting | 0x0002 | +| * PercentCurrent | 0x0003 | +| * SpeedMax | 0x0004 | +| * SpeedSetting | 0x0005 | +| * SpeedCurrent | 0x0006 | +| * RockSupport | 0x0007 | +| * RockSetting | 0x0008 | +| * WindSupport | 0x0009 | +| * WindSetting | 0x000A | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster ThermostatUserInterfaceConfiguration | 0x0204 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * TemperatureDisplayMode | 0x0000 | +| * KeypadLockout | 0x0001 | +| * ScheduleProgrammingVisibility | 0x0002 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| 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 | +| * Options | 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 | +| * ColorTempPhysicalMinMireds | 0x400B | +| * ColorTempPhysicalMaxMireds | 0x400C | +| * CoupleColorTempToLevelMinMireds | 0x400D | +| * StartUpColorTemperatureMireds | 0x4010 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -5368,789 +5047,529 @@ class DoorLockClearCredential : public ClusterCommand \*----------------------------------------------------------------------------*/ /* - * Command UpOrOpen + * Command MoveToHue */ -class WindowCoveringUpOrOpen : public ClusterCommand +class ColorControlMoveToHue : public ClusterCommand { public: - WindowCoveringUpOrOpen(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("up-or-open", credsIssuerConfig) + 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000000, mRequest); } private: - chip::app::Clusters::WindowCovering::Commands::UpOrOpen::Type mRequest; + chip::app::Clusters::ColorControl::Commands::MoveToHue::Type mRequest; }; /* - * Command DownOrClose + * Command MoveHue */ -class WindowCoveringDownOrClose : public ClusterCommand +class ColorControlMoveHue : public ClusterCommand { public: - WindowCoveringDownOrClose(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("down-or-close", credsIssuerConfig) + 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000001) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000001) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000001, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000001) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000001) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000001, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000001, mRequest); } private: - chip::app::Clusters::WindowCovering::Commands::DownOrClose::Type mRequest; + chip::app::Clusters::ColorControl::Commands::MoveHue::Type mRequest; }; /* - * Command StopMotion + * Command StepHue */ -class WindowCoveringStopMotion : public ClusterCommand +class ColorControlStepHue : public ClusterCommand { public: - WindowCoveringStopMotion(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-motion", credsIssuerConfig) + 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000002) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000002) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000002, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000002) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000002) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000002, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000002, mRequest); } private: - chip::app::Clusters::WindowCovering::Commands::StopMotion::Type mRequest; + chip::app::Clusters::ColorControl::Commands::StepHue::Type mRequest; }; /* - * Command GoToLiftValue + * Command MoveToSaturation */ -class WindowCoveringGoToLiftValue : public ClusterCommand +class ColorControlMoveToSaturation : public ClusterCommand { public: - WindowCoveringGoToLiftValue(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("go-to-lift-value", credsIssuerConfig) + ColorControlMoveToSaturation(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("move-to-saturation", credsIssuerConfig) { - AddArgument("LiftValue", 0, UINT16_MAX, &mRequest.liftValue); + 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000004) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000003) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000004, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000003, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000004) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000003) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000004, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000003, mRequest); } private: - chip::app::Clusters::WindowCovering::Commands::GoToLiftValue::Type mRequest; + chip::app::Clusters::ColorControl::Commands::MoveToSaturation::Type mRequest; }; /* - * Command GoToLiftPercentage + * Command MoveSaturation */ -class WindowCoveringGoToLiftPercentage : public ClusterCommand +class ColorControlMoveSaturation : public ClusterCommand { public: - WindowCoveringGoToLiftPercentage(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("go-to-lift-percentage", credsIssuerConfig) + ColorControlMoveSaturation(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-saturation", credsIssuerConfig) { - AddArgument("LiftPercent100thsValue", 0, UINT16_MAX, &mRequest.liftPercent100thsValue); + 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000005) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000004) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000005, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000004, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000005) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000004) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000005, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000004, mRequest); } private: - chip::app::Clusters::WindowCovering::Commands::GoToLiftPercentage::Type mRequest; + chip::app::Clusters::ColorControl::Commands::MoveSaturation::Type mRequest; }; /* - * Command GoToTiltValue + * Command StepSaturation */ -class WindowCoveringGoToTiltValue : public ClusterCommand +class ColorControlStepSaturation : public ClusterCommand { public: - WindowCoveringGoToTiltValue(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("go-to-tilt-value", credsIssuerConfig) + ColorControlStepSaturation(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step-saturation", credsIssuerConfig) { - AddArgument("TiltValue", 0, UINT16_MAX, &mRequest.tiltValue); + 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000007) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000005) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000007, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000005, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000007) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000005) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000007, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000005, mRequest); } private: - chip::app::Clusters::WindowCovering::Commands::GoToTiltValue::Type mRequest; + chip::app::Clusters::ColorControl::Commands::StepSaturation::Type mRequest; }; /* - * Command GoToTiltPercentage + * Command MoveToHueAndSaturation */ -class WindowCoveringGoToTiltPercentage : public ClusterCommand +class ColorControlMoveToHueAndSaturation : public ClusterCommand { public: - WindowCoveringGoToTiltPercentage(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("go-to-tilt-percentage", credsIssuerConfig) + ColorControlMoveToHueAndSaturation(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("move-to-hue-and-saturation", credsIssuerConfig) { - AddArgument("TiltPercent100thsValue", 0, UINT16_MAX, &mRequest.tiltPercent100thsValue); + 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000008) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000006) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000008, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000006, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000008) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000006) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000008, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000006, mRequest); } private: - chip::app::Clusters::WindowCovering::Commands::GoToTiltPercentage::Type mRequest; + chip::app::Clusters::ColorControl::Commands::MoveToHueAndSaturation::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| 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 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command BarrierControlGoToPercent + * Command MoveToColor */ -class BarrierControlBarrierControlGoToPercent : public ClusterCommand +class ColorControlMoveToColor : public ClusterCommand { public: - BarrierControlBarrierControlGoToPercent(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("barrier-control-go-to-percent", credsIssuerConfig) + ColorControlMoveToColor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-to-color", credsIssuerConfig) { - AddArgument("PercentOpen", 0, UINT8_MAX, &mRequest.percentOpen); + 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000103) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000007) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000103, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000007, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000103) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000007) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000103, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000007, mRequest); } private: - chip::app::Clusters::BarrierControl::Commands::BarrierControlGoToPercent::Type mRequest; + chip::app::Clusters::ColorControl::Commands::MoveToColor::Type mRequest; }; /* - * Command BarrierControlStop + * Command MoveColor */ -class BarrierControlBarrierControlStop : public ClusterCommand +class ColorControlMoveColor : public ClusterCommand { public: - BarrierControlBarrierControlStop(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("barrier-control-stop", credsIssuerConfig) + 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000103) command (0x00000001) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000008) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000103, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000008, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000103) command (0x00000001) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000008) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000103, 0x00000001, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000008, mRequest); } private: - chip::app::Clusters::BarrierControl::Commands::BarrierControlStop::Type mRequest; + chip::app::Clusters::ColorControl::Commands::MoveColor::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster PumpConfigurationAndControl | 0x0200 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| 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 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 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 StepColor + */ +class ColorControlStepColor : public ClusterCommand +{ +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(); + } -/*----------------------------------------------------------------------------*\ -| Cluster Thermostat | 0x0201 | -|------------------------------------------------------------------------------| -| Commands: | | -| * SetpointRaiseLower | 0x00 | -| * SetWeeklySchedule | 0x01 | -| * GetWeeklySchedule | 0x02 | -| * ClearWeeklySchedule | 0x03 | -|------------------------------------------------------------------------------| -| 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 | -| * ThermostatRunningMode | 0x001E | -| * StartOfWeek | 0x0020 | -| * NumberOfWeeklyTransitions | 0x0021 | -| * NumberOfDailyTransitions | 0x0022 | -| * TemperatureSetpointHold | 0x0023 | -| * TemperatureSetpointHoldDuration | 0x0024 | -| * ThermostatProgrammingOperationMode | 0x0025 | -| * ThermostatRunningState | 0x0029 | -| * SetpointChangeSource | 0x0030 | -| * SetpointChangeAmount | 0x0031 | -| * SetpointChangeSourceTimestamp | 0x0032 | -| * OccupiedSetback | 0x0034 | -| * OccupiedSetbackMin | 0x0035 | -| * OccupiedSetbackMax | 0x0036 | -| * UnoccupiedSetback | 0x0037 | -| * UnoccupiedSetbackMin | 0x0038 | -| * UnoccupiedSetbackMax | 0x0039 | -| * EmergencyHeatDelta | 0x003A | -| * ACType | 0x0040 | -| * ACCapacity | 0x0041 | -| * ACRefrigerantType | 0x0042 | -| * ACCompressorType | 0x0043 | -| * ACErrorCode | 0x0044 | -| * ACLouverPosition | 0x0045 | -| * ACCoilTemperature | 0x0046 | -| * ACCapacityformat | 0x0047 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000009) on endpoint %u", endpointIds.at(0)); + + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000009, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000009) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000009, mRequest); + } + +private: + chip::app::Clusters::ColorControl::Commands::StepColor::Type mRequest; +}; /* - * Command SetpointRaiseLower + * Command MoveToColorTemperature */ -class ThermostatSetpointRaiseLower : public ClusterCommand +class ColorControlMoveToColorTemperature : public ClusterCommand { public: - ThermostatSetpointRaiseLower(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("setpoint-raise-lower", credsIssuerConfig) + ColorControlMoveToColorTemperature(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("move-to-color-temperature", credsIssuerConfig) { - AddArgument("Mode", 0, UINT8_MAX, &mRequest.mode); - AddArgument("Amount", INT8_MIN, INT8_MAX, &mRequest.amount); + 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000000A) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000201, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x0000000A, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000000A) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000201, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x0000000A, mRequest); } private: - chip::app::Clusters::Thermostat::Commands::SetpointRaiseLower::Type mRequest; + chip::app::Clusters::ColorControl::Commands::MoveToColorTemperature::Type mRequest; }; /* - * Command SetWeeklySchedule + * Command EnhancedMoveToHue */ -class ThermostatSetWeeklySchedule : public ClusterCommand +class ColorControlEnhancedMoveToHue : public ClusterCommand { public: - ThermostatSetWeeklySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("set-weekly-schedule", credsIssuerConfig), mComplex_Transitions(&mRequest.transitions) + ColorControlEnhancedMoveToHue(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("enhanced-move-to-hue", credsIssuerConfig) { - AddArgument("NumberOfTransitionsForSequence", 0, UINT8_MAX, &mRequest.numberOfTransitionsForSequence); - AddArgument("DayOfWeekForSequence", 0, UINT8_MAX, &mRequest.dayOfWeekForSequence); - AddArgument("ModeForSequence", 0, UINT8_MAX, &mRequest.modeForSequence); - AddArgument("Transitions", &mComplex_Transitions); + 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000001) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000040) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000201, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000040, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000001) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000040) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000201, 0x00000001, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000040, mRequest); } private: - chip::app::Clusters::Thermostat::Commands::SetWeeklySchedule::Type mRequest; - TypedComplexArgument< - chip::app::DataModel::List> - mComplex_Transitions; + chip::app::Clusters::ColorControl::Commands::EnhancedMoveToHue::Type mRequest; }; /* - * Command GetWeeklySchedule + * Command EnhancedMoveHue */ -class ThermostatGetWeeklySchedule : public ClusterCommand +class ColorControlEnhancedMoveHue : public ClusterCommand { public: - ThermostatGetWeeklySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-weekly-schedule", credsIssuerConfig) + ColorControlEnhancedMoveHue(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("enhanced-move-hue", credsIssuerConfig) { - AddArgument("DaysToReturn", 0, UINT8_MAX, &mRequest.daysToReturn); - AddArgument("ModeToReturn", 0, UINT8_MAX, &mRequest.modeToReturn); + 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000002) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000041) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000201, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000041, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000002) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000041) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000201, 0x00000002, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000041, mRequest); } private: - chip::app::Clusters::Thermostat::Commands::GetWeeklySchedule::Type mRequest; + chip::app::Clusters::ColorControl::Commands::EnhancedMoveHue::Type mRequest; }; /* - * Command ClearWeeklySchedule + * Command EnhancedStepHue */ -class ThermostatClearWeeklySchedule : public ClusterCommand +class ColorControlEnhancedStepHue : public ClusterCommand { public: - ThermostatClearWeeklySchedule(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("clear-weekly-schedule", credsIssuerConfig) + 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000003) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000042) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000201, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000042, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000003) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000042) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000201, 0x00000003, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000042, mRequest); } private: - chip::app::Clusters::Thermostat::Commands::ClearWeeklySchedule::Type mRequest; + chip::app::Clusters::ColorControl::Commands::EnhancedStepHue::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster FanControl | 0x0202 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * FanMode | 0x0000 | -| * FanModeSequence | 0x0001 | -| * PercentSetting | 0x0002 | -| * PercentCurrent | 0x0003 | -| * SpeedMax | 0x0004 | -| * SpeedSetting | 0x0005 | -| * SpeedCurrent | 0x0006 | -| * RockSupport | 0x0007 | -| * RockSetting | 0x0008 | -| * WindSupport | 0x0009 | -| * WindSetting | 0x000A | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ +/* + * Command EnhancedMoveToHueAndSaturation + */ +class ColorControlEnhancedMoveToHueAndSaturation : public ClusterCommand +{ +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(); + } -/*----------------------------------------------------------------------------*\ -| Cluster DehumidificationControl | 0x0203 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * RelativeHumidity | 0x0000 | -| * DehumidificationCooling | 0x0001 | -| * RhDehumidificationSetpoint | 0x0010 | -| * RelativeHumidityMode | 0x0011 | -| * DehumidificationLockout | 0x0012 | -| * DehumidificationHysteresis | 0x0013 | -| * DehumidificationMaxCool | 0x0014 | -| * RelativeHumidityDisplay | 0x0015 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000043) on endpoint %u", endpointIds.at(0)); -/*----------------------------------------------------------------------------*\ -| Cluster ThermostatUserInterfaceConfiguration | 0x0204 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * TemperatureDisplayMode | 0x0000 | -| * KeypadLockout | 0x0001 | -| * ScheduleProgrammingVisibility | 0x0002 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| 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 | -| * Options | 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 | -| * ColorTempPhysicalMinMireds | 0x400B | -| * ColorTempPhysicalMaxMireds | 0x400C | -| * CoupleColorTempToLevelMinMireds | 0x400D | -| * StartUpColorTemperatureMireds | 0x4010 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/* - * Command MoveToHue - */ -class ColorControlMoveToHue : public ClusterCommand -{ -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(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000000) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000000, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000000) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000000, mRequest); - } - -private: - chip::app::Clusters::ColorControl::Commands::MoveToHue::Type mRequest; -}; - -/* - * Command MoveHue - */ -class ColorControlMoveHue : public ClusterCommand -{ -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(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000001) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000001, mRequest); - } + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000043, mRequest); + } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000001) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000043) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000001, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000043, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::MoveHue::Type mRequest; + chip::app::Clusters::ColorControl::Commands::EnhancedMoveToHueAndSaturation::Type mRequest; }; /* - * Command StepHue + * Command ColorLoopSet */ -class ColorControlStepHue : public ClusterCommand +class ColorControlColorLoopSet : public ClusterCommand { public: - ColorControlStepHue(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step-hue", credsIssuerConfig) + ColorControlColorLoopSet(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("color-loop-set", credsIssuerConfig) { - AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode); - AddArgument("StepSize", 0, UINT8_MAX, &mRequest.stepSize); - AddArgument("TransitionTime", 0, UINT8_MAX, &mRequest.transitionTime); + 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(); @@ -6158,33 +5577,30 @@ class ColorControlStepHue : public ClusterCommand CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000002) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000044) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000044, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000002) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000044) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000002, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000044, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::StepHue::Type mRequest; + chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type mRequest; }; /* - * Command MoveToSaturation + * Command StopMoveStep */ -class ColorControlMoveToSaturation : public ClusterCommand +class ColorControlStopMoveStep : public ClusterCommand { public: - ColorControlMoveToSaturation(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("move-to-saturation", credsIssuerConfig) + ColorControlStopMoveStep(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-move-step", 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(); @@ -6192,32 +5608,35 @@ class ColorControlMoveToSaturation : public ClusterCommand CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000003) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000047) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000047, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000003) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000047) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000003, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000047, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::MoveToSaturation::Type mRequest; + chip::app::Clusters::ColorControl::Commands::StopMoveStep::Type mRequest; }; /* - * Command MoveSaturation + * Command MoveColorTemperature */ -class ColorControlMoveSaturation : public ClusterCommand +class ColorControlMoveColorTemperature : public ClusterCommand { public: - ColorControlMoveSaturation(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-saturation", credsIssuerConfig) + ColorControlMoveColorTemperature(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("move-color-temperature", credsIssuerConfig) { AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode); - AddArgument("Rate", 0, UINT8_MAX, &mRequest.rate); + AddArgument("Rate", 0, UINT16_MAX, &mRequest.rate); + AddArgument("ColorTemperatureMinimumMireds", 0, UINT16_MAX, &mRequest.colorTemperatureMinimumMireds); + AddArgument("ColorTemperatureMaximumMireds", 0, UINT16_MAX, &mRequest.colorTemperatureMaximumMireds); AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); ClusterCommand::AddArguments(); @@ -6225,68 +5644,36 @@ class ColorControlMoveSaturation : public ClusterCommand CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000004) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000004B) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000004, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x0000004B, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000004) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000004B) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000004, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x0000004B, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::MoveSaturation::Type mRequest; + chip::app::Clusters::ColorControl::Commands::MoveColorTemperature::Type mRequest; }; /* - * Command StepSaturation + * Command StepColorTemperature */ -class ColorControlStepSaturation : public ClusterCommand +class ColorControlStepColorTemperature : public ClusterCommand { public: - ColorControlStepSaturation(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step-saturation", credsIssuerConfig) + ColorControlStepColorTemperature(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("step-color-temperature", 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(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000005) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000005, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000005) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000005, mRequest); - } - -private: - chip::app::Clusters::ColorControl::Commands::StepSaturation::Type mRequest; -}; - -/* - * Command MoveToHueAndSaturation - */ -class ColorControlMoveToHueAndSaturation : public ClusterCommand -{ -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("StepSize", 0, UINT16_MAX, &mRequest.stepSize); AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); + AddArgument("ColorTemperatureMinimumMireds", 0, UINT16_MAX, &mRequest.colorTemperatureMinimumMireds); + AddArgument("ColorTemperatureMaximumMireds", 0, UINT16_MAX, &mRequest.colorTemperatureMaximumMireds); AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); ClusterCommand::AddArguments(); @@ -6294,584 +5681,725 @@ class ColorControlMoveToHueAndSaturation : public ClusterCommand CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000006) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000004C) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000006, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x0000004C, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000006) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000004C) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000006, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x0000004C, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::MoveToHueAndSaturation::Type mRequest; + chip::app::Clusters::ColorControl::Commands::StepColorTemperature::Type mRequest; }; -/* - * Command MoveToColor - */ -class ColorControlMoveToColor : public ClusterCommand -{ -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(); - } +/*----------------------------------------------------------------------------*\ +| Cluster BallastConfiguration | 0x0301 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * PhysicalMinLevel | 0x0000 | +| * PhysicalMaxLevel | 0x0001 | +| * BallastStatus | 0x0002 | +| * MinLevel | 0x0010 | +| * MaxLevel | 0x0011 | +| * IntrinsicBalanceFactor | 0x0014 | +| * BallastFactorAdjustment | 0x0015 | +| * LampQuantity | 0x0020 | +| * LampType | 0x0030 | +| * LampManufacturer | 0x0031 | +| * LampRatedHours | 0x0032 | +| * LampBurnHours | 0x0033 | +| * LampAlarmMode | 0x0034 | +| * LampBurnHoursTripPoint | 0x0035 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000007) on endpoint %u", endpointIds.at(0)); +/*----------------------------------------------------------------------------*\ +| Cluster IlluminanceMeasurement | 0x0400 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * LightSensorType | 0x0004 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000007, mRequest); - } +/*----------------------------------------------------------------------------*\ +| Cluster TemperatureMeasurement | 0x0402 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000007) on Group %u", groupId); +/*----------------------------------------------------------------------------*\ +| Cluster PressureMeasurement | 0x0403 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * ScaledValue | 0x0010 | +| * MinScaledValue | 0x0011 | +| * MaxScaledValue | 0x0012 | +| * ScaledTolerance | 0x0013 | +| * Scale | 0x0014 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000007, mRequest); - } +/*----------------------------------------------------------------------------*\ +| Cluster FlowMeasurement | 0x0404 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ -private: - chip::app::Clusters::ColorControl::Commands::MoveToColor::Type mRequest; -}; +/*----------------------------------------------------------------------------*\ +| Cluster RelativeHumidityMeasurement | 0x0405 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| 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 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster WakeOnLan | 0x0503 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MACAddress | 0x0000 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster Channel | 0x0504 | +|------------------------------------------------------------------------------| +| Commands: | | +| * ChangeChannel | 0x00 | +| * ChangeChannelByNumber | 0x02 | +| * SkipChannel | 0x03 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * ChannelList | 0x0000 | +| * Lineup | 0x0001 | +| * CurrentChannel | 0x0002 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ /* - * Command MoveColor + * Command ChangeChannel */ -class ColorControlMoveColor : public ClusterCommand +class ChannelChangeChannel : public ClusterCommand { public: - ColorControlMoveColor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-color", credsIssuerConfig) + ChannelChangeChannel(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("change-channel", 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); + AddArgument("Match", &mRequest.match); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000008) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000008, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000504, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000008) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000008, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000504, 0x00000000, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::MoveColor::Type mRequest; + chip::app::Clusters::Channel::Commands::ChangeChannel::Type mRequest; }; /* - * Command StepColor + * Command ChangeChannelByNumber */ -class ColorControlStepColor : public ClusterCommand +class ChannelChangeChannelByNumber : public ClusterCommand { public: - ColorControlStepColor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step-color", credsIssuerConfig) + ChannelChangeChannelByNumber(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("change-channel-by-number", 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("MajorNumber", 0, UINT16_MAX, &mRequest.majorNumber); + AddArgument("MinorNumber", 0, UINT16_MAX, &mRequest.minorNumber); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000009) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000002) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000009, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000504, 0x00000002, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000009) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000002) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000009, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000504, 0x00000002, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::StepColor::Type mRequest; + chip::app::Clusters::Channel::Commands::ChangeChannelByNumber::Type mRequest; }; /* - * Command MoveToColorTemperature + * Command SkipChannel */ -class ColorControlMoveToColorTemperature : public ClusterCommand +class ChannelSkipChannel : public ClusterCommand { public: - ColorControlMoveToColorTemperature(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("move-to-color-temperature", credsIssuerConfig) + ChannelSkipChannel(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("skip-channel", 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("Count", 0, UINT16_MAX, &mRequest.count); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000000A) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000003) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x0000000A, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000504, 0x00000003, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000000A) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000003) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x0000000A, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000504, 0x00000003, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::MoveToColorTemperature::Type mRequest; + chip::app::Clusters::Channel::Commands::SkipChannel::Type mRequest; }; +/*----------------------------------------------------------------------------*\ +| Cluster TargetNavigator | 0x0505 | +|------------------------------------------------------------------------------| +| Commands: | | +| * NavigateTarget | 0x00 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * TargetList | 0x0000 | +| * CurrentTarget | 0x0001 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + /* - * Command EnhancedMoveToHue + * Command NavigateTarget */ -class ColorControlEnhancedMoveToHue : public ClusterCommand +class TargetNavigatorNavigateTarget : public ClusterCommand { public: - ColorControlEnhancedMoveToHue(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("enhanced-move-to-hue", credsIssuerConfig) + TargetNavigatorNavigateTarget(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("navigate-target", 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); + AddArgument("Target", 0, UINT8_MAX, &mRequest.target); + AddArgument("Data", &mRequest.data); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000040) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000505) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000040, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000505, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000040) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000505) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000040, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000505, 0x00000000, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::EnhancedMoveToHue::Type mRequest; + chip::app::Clusters::TargetNavigator::Commands::NavigateTarget::Type mRequest; }; +/*----------------------------------------------------------------------------*\ +| Cluster MediaPlayback | 0x0506 | +|------------------------------------------------------------------------------| +| Commands: | | +| * Play | 0x00 | +| * Pause | 0x01 | +| * StopPlayback | 0x02 | +| * StartOver | 0x03 | +| * Previous | 0x04 | +| * Next | 0x05 | +| * Rewind | 0x06 | +| * FastForward | 0x07 | +| * SkipForward | 0x08 | +| * SkipBackward | 0x09 | +| * Seek | 0x0B | +|------------------------------------------------------------------------------| +| Attributes: | | +| * CurrentState | 0x0000 | +| * StartTime | 0x0001 | +| * Duration | 0x0002 | +| * SampledPosition | 0x0003 | +| * PlaybackSpeed | 0x0004 | +| * SeekRangeEnd | 0x0005 | +| * SeekRangeStart | 0x0006 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + /* - * Command EnhancedMoveHue + * Command Play */ -class ColorControlEnhancedMoveHue : public ClusterCommand +class MediaPlaybackPlay : public ClusterCommand { public: - ColorControlEnhancedMoveHue(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("enhanced-move-hue", credsIssuerConfig) + MediaPlaybackPlay(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("play", 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000041) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000041, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000041) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000041, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000000, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::EnhancedMoveHue::Type mRequest; + chip::app::Clusters::MediaPlayback::Commands::Play::Type mRequest; }; /* - * Command EnhancedStepHue + * Command Pause */ -class ColorControlEnhancedStepHue : public ClusterCommand +class MediaPlaybackPause : public ClusterCommand { public: - ColorControlEnhancedStepHue(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("enhanced-step-hue", credsIssuerConfig) + MediaPlaybackPause(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("pause", 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000042) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000001) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000042, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000001, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000042) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000001) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000042, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000001, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::EnhancedStepHue::Type mRequest; + chip::app::Clusters::MediaPlayback::Commands::Pause::Type mRequest; }; /* - * Command EnhancedMoveToHueAndSaturation + * Command StopPlayback */ -class ColorControlEnhancedMoveToHueAndSaturation : public ClusterCommand +class MediaPlaybackStopPlayback : public ClusterCommand { public: - ColorControlEnhancedMoveToHueAndSaturation(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("enhanced-move-to-hue-and-saturation", credsIssuerConfig) + MediaPlaybackStopPlayback(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-playback", 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000043) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000002) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000043, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000002, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000043) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000002) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000043, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000002, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::EnhancedMoveToHueAndSaturation::Type mRequest; + chip::app::Clusters::MediaPlayback::Commands::StopPlayback::Type mRequest; }; /* - * Command ColorLoopSet + * Command StartOver */ -class ColorControlColorLoopSet : public ClusterCommand +class MediaPlaybackStartOver : public ClusterCommand { public: - ColorControlColorLoopSet(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("color-loop-set", credsIssuerConfig) + MediaPlaybackStartOver(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("start-over", 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(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000044) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000003) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000044, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000003, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000044) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000003) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000044, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000003, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type mRequest; + chip::app::Clusters::MediaPlayback::Commands::StartOver::Type mRequest; }; /* - * Command StopMoveStep + * Command Previous */ -class ColorControlStopMoveStep : public ClusterCommand +class MediaPlaybackPrevious : public ClusterCommand { public: - ColorControlStopMoveStep(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-move-step", credsIssuerConfig) + MediaPlaybackPrevious(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("previous", credsIssuerConfig) { - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000047) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000004) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000047, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000004, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000047) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000004) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000047, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000004, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::StopMoveStep::Type mRequest; + chip::app::Clusters::MediaPlayback::Commands::Previous::Type mRequest; }; /* - * Command MoveColorTemperature + * Command Next */ -class ColorControlMoveColorTemperature : public ClusterCommand +class MediaPlaybackNext : public ClusterCommand { public: - ColorControlMoveColorTemperature(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("move-color-temperature", credsIssuerConfig) + MediaPlaybackNext(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("next", credsIssuerConfig) { - AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode); - AddArgument("Rate", 0, UINT16_MAX, &mRequest.rate); - AddArgument("ColorTemperatureMinimumMireds", 0, UINT16_MAX, &mRequest.colorTemperatureMinimumMireds); - AddArgument("ColorTemperatureMaximumMireds", 0, UINT16_MAX, &mRequest.colorTemperatureMaximumMireds); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000004B) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000005) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x0000004B, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000005, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000004B) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000005) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x0000004B, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000005, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::MoveColorTemperature::Type mRequest; + chip::app::Clusters::MediaPlayback::Commands::Next::Type mRequest; }; /* - * Command StepColorTemperature + * Command Rewind */ -class ColorControlStepColorTemperature : public ClusterCommand +class MediaPlaybackRewind : public ClusterCommand { public: - ColorControlStepColorTemperature(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("step-color-temperature", credsIssuerConfig) + MediaPlaybackRewind(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("rewind", credsIssuerConfig) { - AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode); - AddArgument("StepSize", 0, UINT16_MAX, &mRequest.stepSize); - AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime); - AddArgument("ColorTemperatureMinimumMireds", 0, UINT16_MAX, &mRequest.colorTemperatureMinimumMireds); - AddArgument("ColorTemperatureMaximumMireds", 0, UINT16_MAX, &mRequest.colorTemperatureMaximumMireds); - AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask); - AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000004C) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000006) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x0000004C, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000006, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000004C) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000006) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x0000004C, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000006, mRequest); } private: - chip::app::Clusters::ColorControl::Commands::StepColorTemperature::Type mRequest; + chip::app::Clusters::MediaPlayback::Commands::Rewind::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster BallastConfiguration | 0x0301 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * PhysicalMinLevel | 0x0000 | -| * PhysicalMaxLevel | 0x0001 | -| * BallastStatus | 0x0002 | -| * MinLevel | 0x0010 | -| * MaxLevel | 0x0011 | -| * IntrinsicBalanceFactor | 0x0014 | -| * BallastFactorAdjustment | 0x0015 | -| * LampQuantity | 0x0020 | -| * LampType | 0x0030 | -| * LampManufacturer | 0x0031 | -| * LampRatedHours | 0x0032 | -| * LampBurnHours | 0x0033 | -| * LampAlarmMode | 0x0034 | -| * LampBurnHoursTripPoint | 0x0035 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ +/* + * Command FastForward + */ +class MediaPlaybackFastForward : public ClusterCommand +{ +public: + MediaPlaybackFastForward(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("fast-forward", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } -/*----------------------------------------------------------------------------*\ -| Cluster IlluminanceMeasurement | 0x0400 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * LightSensorType | 0x0004 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000007) on endpoint %u", endpointIds.at(0)); -/*----------------------------------------------------------------------------*\ -| Cluster TemperatureMeasurement | 0x0402 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000007, mRequest); + } -/*----------------------------------------------------------------------------*\ -| Cluster PressureMeasurement | 0x0403 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * ScaledValue | 0x0010 | -| * MinScaledValue | 0x0011 | -| * MaxScaledValue | 0x0012 | -| * ScaledTolerance | 0x0013 | -| * Scale | 0x0014 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000007) on Group %u", groupId); -/*----------------------------------------------------------------------------*\ -| Cluster FlowMeasurement | 0x0404 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000007, mRequest); + } -/*----------------------------------------------------------------------------*\ -| Cluster RelativeHumidityMeasurement | 0x0405 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ +private: + chip::app::Clusters::MediaPlayback::Commands::FastForward::Type mRequest; +}; + +/* + * Command SkipForward + */ +class MediaPlaybackSkipForward : public ClusterCommand +{ +public: + MediaPlaybackSkipForward(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("skip-forward", credsIssuerConfig) + { + AddArgument("DeltaPositionMilliseconds", 0, UINT64_MAX, &mRequest.deltaPositionMilliseconds); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000008) on endpoint %u", endpointIds.at(0)); + + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000008, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000008) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000008, mRequest); + } + +private: + chip::app::Clusters::MediaPlayback::Commands::SkipForward::Type mRequest; +}; + +/* + * Command SkipBackward + */ +class MediaPlaybackSkipBackward : public ClusterCommand +{ +public: + MediaPlaybackSkipBackward(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("skip-backward", credsIssuerConfig) + { + AddArgument("DeltaPositionMilliseconds", 0, UINT64_MAX, &mRequest.deltaPositionMilliseconds); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000009) on endpoint %u", endpointIds.at(0)); + + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000009, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000009) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000009, mRequest); + } + +private: + chip::app::Clusters::MediaPlayback::Commands::SkipBackward::Type mRequest; +}; + +/* + * Command Seek + */ +class MediaPlaybackSeek : public ClusterCommand +{ +public: + MediaPlaybackSeek(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("seek", credsIssuerConfig) + { + AddArgument("Position", 0, UINT64_MAX, &mRequest.position); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x0000000B) on endpoint %u", endpointIds.at(0)); + + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x0000000B, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x0000000B) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x0000000B, mRequest); + } + +private: + chip::app::Clusters::MediaPlayback::Commands::Seek::Type mRequest; +}; /*----------------------------------------------------------------------------*\ -| Cluster OccupancySensing | 0x0406 | +| Cluster MediaInput | 0x0507 | |------------------------------------------------------------------------------| | Commands: | | +| * SelectInput | 0x00 | +| * ShowInputStatus | 0x01 | +| * HideInputStatus | 0x02 | +| * RenameInput | 0x03 | |------------------------------------------------------------------------------| | 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 | +| * InputList | 0x0000 | +| * CurrentInput | 0x0001 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -6881,92 +6409,132 @@ class ColorControlStepColorTemperature : public ClusterCommand | Events: | | \*----------------------------------------------------------------------------*/ -/*----------------------------------------------------------------------------*\ -| Cluster CarbonMonoxideConcentrationMeasurement | 0x040C | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ +/* + * Command SelectInput + */ +class MediaInputSelectInput : public ClusterCommand +{ +public: + MediaInputSelectInput(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("select-input", credsIssuerConfig) + { + AddArgument("Index", 0, UINT8_MAX, &mRequest.index); + ClusterCommand::AddArguments(); + } -/*----------------------------------------------------------------------------*\ -| Cluster CarbonDioxideConcentrationMeasurement | 0x040D | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000000) on endpoint %u", endpointIds.at(0)); -/*----------------------------------------------------------------------------*\ -| Cluster EthyleneConcentrationMeasurement | 0x040E | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000507, 0x00000000, mRequest); + } -/*----------------------------------------------------------------------------*\ -| Cluster EthyleneOxideConcentrationMeasurement | 0x040F | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000000) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000507, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::MediaInput::Commands::SelectInput::Type mRequest; +}; + +/* + * Command ShowInputStatus + */ +class MediaInputShowInputStatus : public ClusterCommand +{ +public: + MediaInputShowInputStatus(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("show-input-status", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000001) on endpoint %u", endpointIds.at(0)); + + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000507, 0x00000001, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000001) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000507, 0x00000001, mRequest); + } + +private: + chip::app::Clusters::MediaInput::Commands::ShowInputStatus::Type mRequest; +}; + +/* + * Command HideInputStatus + */ +class MediaInputHideInputStatus : public ClusterCommand +{ +public: + MediaInputHideInputStatus(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("hide-input-status", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000002) on endpoint %u", endpointIds.at(0)); + + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000507, 0x00000002, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000002) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000507, 0x00000002, mRequest); + } + +private: + chip::app::Clusters::MediaInput::Commands::HideInputStatus::Type mRequest; +}; + +/* + * Command RenameInput + */ +class MediaInputRenameInput : public ClusterCommand +{ +public: + MediaInputRenameInput(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("rename-input", credsIssuerConfig) + { + AddArgument("Index", 0, UINT8_MAX, &mRequest.index); + AddArgument("Name", &mRequest.name); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000003) on endpoint %u", endpointIds.at(0)); + + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000507, 0x00000003, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000003) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000507, 0x00000003, mRequest); + } + +private: + chip::app::Clusters::MediaInput::Commands::RenameInput::Type mRequest; +}; /*----------------------------------------------------------------------------*\ -| Cluster HydrogenConcentrationMeasurement | 0x0410 | +| Cluster LowPower | 0x0508 | |------------------------------------------------------------------------------| | Commands: | | +| * Sleep | 0x00 | |------------------------------------------------------------------------------| | Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -6976,16 +6544,42 @@ class ColorControlStepColorTemperature : public ClusterCommand | Events: | | \*----------------------------------------------------------------------------*/ +/* + * Command Sleep + */ +class LowPowerSleep : public ClusterCommand +{ +public: + LowPowerSleep(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("sleep", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000508) command (0x00000000) on endpoint %u", endpointIds.at(0)); + + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000508, 0x00000000, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000508) command (0x00000000) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000508, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::LowPower::Commands::Sleep::Type mRequest; +}; + /*----------------------------------------------------------------------------*\ -| Cluster HydrogenSulphideConcentrationMeasurement | 0x0411 | +| Cluster KeypadInput | 0x0509 | |------------------------------------------------------------------------------| | Commands: | | +| * SendKey | 0x00 | |------------------------------------------------------------------------------| | Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -6995,16 +6589,46 @@ class ColorControlStepColorTemperature : public ClusterCommand | Events: | | \*----------------------------------------------------------------------------*/ +/* + * Command SendKey + */ +class KeypadInputSendKey : public ClusterCommand +{ +public: + KeypadInputSendKey(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("send-key", credsIssuerConfig) + { + AddArgument("KeyCode", 0, UINT8_MAX, &mRequest.keyCode); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000509) command (0x00000000) on endpoint %u", endpointIds.at(0)); + + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000509, 0x00000000, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000509) command (0x00000000) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000509, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::KeypadInput::Commands::SendKey::Type mRequest; +}; + /*----------------------------------------------------------------------------*\ -| Cluster NitricOxideConcentrationMeasurement | 0x0412 | +| Cluster ContentLauncher | 0x050A | |------------------------------------------------------------------------------| | Commands: | | +| * LaunchContent | 0x00 | +| * LaunchURL | 0x01 | |------------------------------------------------------------------------------| | Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | +| * AcceptHeader | 0x0000 | +| * SupportedStreamingProtocols | 0x0001 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -7014,130 +6638,85 @@ class ColorControlStepColorTemperature : public ClusterCommand | Events: | | \*----------------------------------------------------------------------------*/ -/*----------------------------------------------------------------------------*\ -| Cluster NitrogenDioxideConcentrationMeasurement | 0x0413 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ +/* + * Command LaunchContent + */ +class ContentLauncherLaunchContent : public ClusterCommand +{ +public: + ContentLauncherLaunchContent(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("launch-content", credsIssuerConfig), mComplex_Search(&mRequest.search) + { + AddArgument("Search", &mComplex_Search); + AddArgument("AutoPlay", 0, 1, &mRequest.autoPlay); + AddArgument("Data", &mRequest.data); + ClusterCommand::AddArguments(); + } -/*----------------------------------------------------------------------------*\ -| Cluster OxygenConcentrationMeasurement | 0x0414 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050A) command (0x00000000) on endpoint %u", endpointIds.at(0)); -/*----------------------------------------------------------------------------*\ -| Cluster OzoneConcentrationMeasurement | 0x0415 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050A, 0x00000000, mRequest); + } -/*----------------------------------------------------------------------------*\ -| Cluster SulfurDioxideConcentrationMeasurement | 0x0416 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050A) command (0x00000000) on Group %u", groupId); -/*----------------------------------------------------------------------------*\ -| Cluster DissolvedOxygenConcentrationMeasurement | 0x0417 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050A, 0x00000000, mRequest); + } -/*----------------------------------------------------------------------------*\ -| Cluster BromateConcentrationMeasurement | 0x0418 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ +private: + chip::app::Clusters::ContentLauncher::Commands::LaunchContent::Type mRequest; + TypedComplexArgument mComplex_Search; +}; + +/* + * Command LaunchURL + */ +class ContentLauncherLaunchURL : public ClusterCommand +{ +public: + ContentLauncherLaunchURL(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("launch-url", credsIssuerConfig), mComplex_BrandingInformation(&mRequest.brandingInformation) + { + AddArgument("ContentURL", &mRequest.contentURL); + AddArgument("DisplayString", &mRequest.displayString); + AddArgument("BrandingInformation", &mComplex_BrandingInformation); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050A) command (0x00000001) on endpoint %u", endpointIds.at(0)); + + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050A, 0x00000001, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050A) command (0x00000001) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050A, 0x00000001, mRequest); + } + +private: + chip::app::Clusters::ContentLauncher::Commands::LaunchURL::Type mRequest; + TypedComplexArgument> + mComplex_BrandingInformation; +}; /*----------------------------------------------------------------------------*\ -| Cluster ChloraminesConcentrationMeasurement | 0x0419 | +| Cluster AudioOutput | 0x050B | |------------------------------------------------------------------------------| | Commands: | | +| * SelectOutput | 0x00 | +| * RenameOutput | 0x01 | |------------------------------------------------------------------------------| | Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | +| * OutputList | 0x0000 | +| * CurrentOutput | 0x0001 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -7147,16 +6726,78 @@ class ColorControlStepColorTemperature : public ClusterCommand | Events: | | \*----------------------------------------------------------------------------*/ +/* + * Command SelectOutput + */ +class AudioOutputSelectOutput : public ClusterCommand +{ +public: + AudioOutputSelectOutput(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("select-output", credsIssuerConfig) + { + AddArgument("Index", 0, UINT8_MAX, &mRequest.index); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050B) command (0x00000000) on endpoint %u", endpointIds.at(0)); + + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050B, 0x00000000, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050B) command (0x00000000) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050B, 0x00000000, mRequest); + } + +private: + chip::app::Clusters::AudioOutput::Commands::SelectOutput::Type mRequest; +}; + +/* + * Command RenameOutput + */ +class AudioOutputRenameOutput : public ClusterCommand +{ +public: + AudioOutputRenameOutput(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("rename-output", credsIssuerConfig) + { + AddArgument("Index", 0, UINT8_MAX, &mRequest.index); + AddArgument("Name", &mRequest.name); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050B) command (0x00000001) on endpoint %u", endpointIds.at(0)); + + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050B, 0x00000001, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050B) command (0x00000001) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050B, 0x00000001, mRequest); + } + +private: + chip::app::Clusters::AudioOutput::Commands::RenameOutput::Type mRequest; +}; + /*----------------------------------------------------------------------------*\ -| Cluster ChlorineConcentrationMeasurement | 0x041A | +| Cluster ApplicationLauncher | 0x050C | |------------------------------------------------------------------------------| | Commands: | | +| * LaunchApp | 0x00 | +| * StopApp | 0x01 | +| * HideApp | 0x02 | |------------------------------------------------------------------------------| | Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | +| * CatalogList | 0x0000 | +| * CurrentApp | 0x0001 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -7166,187 +6807,117 @@ class ColorControlStepColorTemperature : public ClusterCommand | Events: | | \*----------------------------------------------------------------------------*/ -/*----------------------------------------------------------------------------*\ -| Cluster FecalColiformAndEColiConcentrationMeasurement | 0x041B | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ +/* + * Command LaunchApp + */ +class ApplicationLauncherLaunchApp : public ClusterCommand +{ +public: + ApplicationLauncherLaunchApp(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("launch-app", credsIssuerConfig), mComplex_Application(&mRequest.application) + { + AddArgument("Application", &mComplex_Application); + AddArgument("Data", &mRequest.data); + ClusterCommand::AddArguments(); + } -/*----------------------------------------------------------------------------*\ -| Cluster FluorideConcentrationMeasurement | 0x041C | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000000) on endpoint %u", endpointIds.at(0)); -/*----------------------------------------------------------------------------*\ -| Cluster HaloaceticAcidsConcentrationMeasurement | 0x041D | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050C, 0x00000000, mRequest); + } -/*----------------------------------------------------------------------------*\ -| Cluster TotalTrihalomethanesConcentrationMeasurement | 0x041E | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000000) on Group %u", groupId); -/*----------------------------------------------------------------------------*\ -| Cluster TotalColiformBacteriaConcentrationMeasurement | 0x041F | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050C, 0x00000000, mRequest); + } -/*----------------------------------------------------------------------------*\ -| Cluster TurbidityConcentrationMeasurement | 0x0420 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ +private: + chip::app::Clusters::ApplicationLauncher::Commands::LaunchApp::Type mRequest; + TypedComplexArgument mComplex_Application; +}; -/*----------------------------------------------------------------------------*\ -| Cluster CopperConcentrationMeasurement | 0x0421 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ +/* + * Command StopApp + */ +class ApplicationLauncherStopApp : public ClusterCommand +{ +public: + ApplicationLauncherStopApp(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("stop-app", credsIssuerConfig), mComplex_Application(&mRequest.application) + { + AddArgument("Application", &mComplex_Application); + ClusterCommand::AddArguments(); + } -/*----------------------------------------------------------------------------*\ -| Cluster LeadConcentrationMeasurement | 0x0422 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000001) on endpoint %u", endpointIds.at(0)); -/*----------------------------------------------------------------------------*\ -| Cluster ManganeseConcentrationMeasurement | 0x0423 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050C, 0x00000001, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000001) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050C, 0x00000001, mRequest); + } + +private: + chip::app::Clusters::ApplicationLauncher::Commands::StopApp::Type mRequest; + TypedComplexArgument mComplex_Application; +}; + +/* + * Command HideApp + */ +class ApplicationLauncherHideApp : public ClusterCommand +{ +public: + ApplicationLauncherHideApp(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("hide-app", credsIssuerConfig), mComplex_Application(&mRequest.application) + { + AddArgument("Application", &mComplex_Application); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000002) on endpoint %u", endpointIds.at(0)); + + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050C, 0x00000002, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000002) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050C, 0x00000002, mRequest); + } + +private: + chip::app::Clusters::ApplicationLauncher::Commands::HideApp::Type mRequest; + TypedComplexArgument mComplex_Application; +}; /*----------------------------------------------------------------------------*\ -| Cluster SulfateConcentrationMeasurement | 0x0424 | +| Cluster ApplicationBasic | 0x050D | |------------------------------------------------------------------------------| | Commands: | | |------------------------------------------------------------------------------| | Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | +| * VendorName | 0x0000 | +| * VendorID | 0x0001 | +| * ApplicationName | 0x0002 | +| * ProductID | 0x0003 | +| * Application | 0x0004 | +| * Status | 0x0005 | +| * ApplicationVersion | 0x0006 | +| * AllowedVendorList | 0x0007 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -7357,15 +6928,14 @@ class ColorControlStepColorTemperature : public ClusterCommand \*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*\ -| Cluster BromodichloromethaneConcentrationMeasurement | 0x0425 | +| Cluster AccountLogin | 0x050E | |------------------------------------------------------------------------------| | Commands: | | +| * GetSetupPIN | 0x00 | +| * Login | 0x02 | +| * Logout | 0x03 | |------------------------------------------------------------------------------| | Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -7375,5384 +6945,1344 @@ class ColorControlStepColorTemperature : public ClusterCommand | Events: | | \*----------------------------------------------------------------------------*/ -/*----------------------------------------------------------------------------*\ -| Cluster BromoformConcentrationMeasurement | 0x0426 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster ChlorodibromomethaneConcentrationMeasurement | 0x0427 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster ChloroformConcentrationMeasurement | 0x0428 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster SodiumConcentrationMeasurement | 0x0429 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MeasuredValue | 0x0000 | -| * MinMeasuredValue | 0x0001 | -| * MaxMeasuredValue | 0x0002 | -| * Tolerance | 0x0003 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster WakeOnLan | 0x0503 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * MACAddress | 0x0000 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster Channel | 0x0504 | -|------------------------------------------------------------------------------| -| Commands: | | -| * ChangeChannel | 0x00 | -| * ChangeChannelByNumber | 0x02 | -| * SkipChannel | 0x03 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * ChannelList | 0x0000 | -| * Lineup | 0x0001 | -| * CurrentChannel | 0x0002 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/* - * Command ChangeChannel - */ -class ChannelChangeChannel : public ClusterCommand -{ -public: - ChannelChangeChannel(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("change-channel", credsIssuerConfig) - { - AddArgument("Match", &mRequest.match); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000000) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000504, 0x00000000, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000000) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000504, 0x00000000, mRequest); - } - -private: - chip::app::Clusters::Channel::Commands::ChangeChannel::Type mRequest; -}; - /* - * Command ChangeChannelByNumber + * Command GetSetupPIN */ -class ChannelChangeChannelByNumber : public ClusterCommand +class AccountLoginGetSetupPIN : public ClusterCommand { public: - ChannelChangeChannelByNumber(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("change-channel-by-number", credsIssuerConfig) + AccountLoginGetSetupPIN(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-setup-pin", credsIssuerConfig) { - AddArgument("MajorNumber", 0, UINT16_MAX, &mRequest.majorNumber); - AddArgument("MinorNumber", 0, UINT16_MAX, &mRequest.minorNumber); + AddArgument("TempAccountIdentifier", &mRequest.tempAccountIdentifier); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000002) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000504, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050E, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000002) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000504, 0x00000002, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050E, 0x00000000, mRequest); } private: - chip::app::Clusters::Channel::Commands::ChangeChannelByNumber::Type mRequest; + chip::app::Clusters::AccountLogin::Commands::GetSetupPIN::Type mRequest; }; /* - * Command SkipChannel + * Command Login */ -class ChannelSkipChannel : public ClusterCommand +class AccountLoginLogin : public ClusterCommand { public: - ChannelSkipChannel(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("skip-channel", credsIssuerConfig) + AccountLoginLogin(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("login", credsIssuerConfig) { - AddArgument("Count", 0, UINT16_MAX, &mRequest.count); + AddArgument("TempAccountIdentifier", &mRequest.tempAccountIdentifier); + AddArgument("SetupPIN", &mRequest.setupPIN); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000003) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000002) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000504, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050E, 0x00000002, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000003) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000002) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000504, 0x00000003, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050E, 0x00000002, mRequest); } private: - chip::app::Clusters::Channel::Commands::SkipChannel::Type mRequest; + chip::app::Clusters::AccountLogin::Commands::Login::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster TargetNavigator | 0x0505 | -|------------------------------------------------------------------------------| -| Commands: | | -| * NavigateTarget | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * TargetList | 0x0000 | -| * CurrentTarget | 0x0001 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command NavigateTarget + * Command Logout */ -class TargetNavigatorNavigateTarget : public ClusterCommand +class AccountLoginLogout : public ClusterCommand { public: - TargetNavigatorNavigateTarget(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("navigate-target", credsIssuerConfig) + AccountLoginLogout(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("logout", credsIssuerConfig) { - AddArgument("Target", 0, UINT8_MAX, &mRequest.target); - AddArgument("Data", &mRequest.data); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000505) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000003) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000505, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050E, 0x00000003, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000505) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000003) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000505, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050E, 0x00000003, mRequest); } private: - chip::app::Clusters::TargetNavigator::Commands::NavigateTarget::Type mRequest; + chip::app::Clusters::AccountLogin::Commands::Logout::Type mRequest; }; /*----------------------------------------------------------------------------*\ -| Cluster MediaPlayback | 0x0506 | +| Cluster ElectricalMeasurement | 0x0B04 | |------------------------------------------------------------------------------| | Commands: | | -| * Play | 0x00 | -| * Pause | 0x01 | -| * StopPlayback | 0x02 | -| * StartOver | 0x03 | -| * Previous | 0x04 | -| * Next | 0x05 | -| * Rewind | 0x06 | -| * FastForward | 0x07 | -| * SkipForward | 0x08 | -| * SkipBackward | 0x09 | -| * Seek | 0x0B | +| * GetProfileInfoCommand | 0x00 | +| * GetMeasurementProfileCommand | 0x01 | |------------------------------------------------------------------------------| | Attributes: | | -| * CurrentState | 0x0000 | -| * StartTime | 0x0001 | -| * Duration | 0x0002 | -| * SampledPosition | 0x0003 | -| * PlaybackSpeed | 0x0004 | -| * SeekRangeEnd | 0x0005 | -| * SeekRangeStart | 0x0006 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/* - * Command Play - */ -class MediaPlaybackPlay : public ClusterCommand -{ -public: - MediaPlaybackPlay(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("play", credsIssuerConfig) - { - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000000) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000000, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000000) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000000, mRequest); - } - -private: - chip::app::Clusters::MediaPlayback::Commands::Play::Type mRequest; -}; - -/* - * Command Pause - */ -class MediaPlaybackPause : public ClusterCommand -{ -public: - MediaPlaybackPause(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("pause", credsIssuerConfig) - { - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000001) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000001, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000001) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000001, mRequest); - } - -private: - chip::app::Clusters::MediaPlayback::Commands::Pause::Type mRequest; -}; - -/* - * Command StopPlayback - */ -class MediaPlaybackStopPlayback : public ClusterCommand -{ -public: - MediaPlaybackStopPlayback(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-playback", credsIssuerConfig) - { - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000002) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000002, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000002) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000002, mRequest); - } - -private: - chip::app::Clusters::MediaPlayback::Commands::StopPlayback::Type mRequest; -}; +| * 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 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ /* - * Command StartOver + * Command GetProfileInfoCommand */ -class MediaPlaybackStartOver : public ClusterCommand +class ElectricalMeasurementGetProfileInfoCommand : public ClusterCommand { public: - MediaPlaybackStartOver(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("start-over", credsIssuerConfig) + ElectricalMeasurementGetProfileInfoCommand(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("get-profile-info-command", credsIssuerConfig) { ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000003) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000B04) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000B04, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000003) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000B04) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000003, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000B04, 0x00000000, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::StartOver::Type mRequest; + chip::app::Clusters::ElectricalMeasurement::Commands::GetProfileInfoCommand::Type mRequest; }; /* - * Command Previous + * Command GetMeasurementProfileCommand */ -class MediaPlaybackPrevious : public ClusterCommand +class ElectricalMeasurementGetMeasurementProfileCommand : public ClusterCommand { public: - MediaPlaybackPrevious(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("previous", credsIssuerConfig) + 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(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000004) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0x00000B04) command (0x00000001) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000004, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000B04, 0x00000001, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000004) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0x00000B04) command (0x00000001) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000004, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000B04, 0x00000001, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::Previous::Type mRequest; + chip::app::Clusters::ElectricalMeasurement::Commands::GetMeasurementProfileCommand::Type mRequest; }; -/* - * Command Next - */ -class MediaPlaybackNext : public ClusterCommand -{ -public: - MediaPlaybackNext(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("next", credsIssuerConfig) - { - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000005) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000005, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000005) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000005, mRequest); - } - -private: - chip::app::Clusters::MediaPlayback::Commands::Next::Type mRequest; -}; +/*----------------------------------------------------------------------------*\ +| Cluster TestCluster | 0xFFF1FC05| +|------------------------------------------------------------------------------| +| 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 | 0x4000 | +| * NullableBitmap8 | 0x4001 | +| * NullableBitmap16 | 0x4002 | +| * NullableBitmap32 | 0x4003 | +| * NullableBitmap64 | 0x4004 | +| * NullableInt8u | 0x4005 | +| * NullableInt16u | 0x4006 | +| * NullableInt24u | 0x4007 | +| * NullableInt32u | 0x4008 | +| * NullableInt40u | 0x4009 | +| * NullableInt48u | 0x400A | +| * NullableInt56u | 0x400B | +| * NullableInt64u | 0x400C | +| * NullableInt8s | 0x400D | +| * NullableInt16s | 0x400E | +| * NullableInt24s | 0x400F | +| * NullableInt32s | 0x4010 | +| * NullableInt40s | 0x4011 | +| * NullableInt48s | 0x4012 | +| * NullableInt56s | 0x4013 | +| * NullableInt64s | 0x4014 | +| * NullableEnum8 | 0x4015 | +| * NullableEnum16 | 0x4016 | +| * NullableFloatSingle | 0x4017 | +| * NullableFloatDouble | 0x4018 | +| * NullableOctetString | 0x4019 | +| * NullableCharString | 0x401E | +| * NullableEnumAttr | 0x4024 | +| * NullableStruct | 0x4025 | +| * NullableRangeRestrictedInt8u | 0x4026 | +| * NullableRangeRestrictedInt8s | 0x4027 | +| * NullableRangeRestrictedInt16u | 0x4028 | +| * NullableRangeRestrictedInt16s | 0x4029 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * TestEvent | 0x0001 | +| * TestFabricScopedEvent | 0x0002 | +\*----------------------------------------------------------------------------*/ /* - * Command Rewind + * Command Test */ -class MediaPlaybackRewind : public ClusterCommand +class TestClusterTest : public ClusterCommand { public: - MediaPlaybackRewind(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("rewind", credsIssuerConfig) + TestClusterTest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test", credsIssuerConfig) { ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000006) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000000) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000006, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000000, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000006) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000000) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000006, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000000, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::Rewind::Type mRequest; + chip::app::Clusters::TestCluster::Commands::Test::Type mRequest; }; /* - * Command FastForward + * Command TestNotHandled */ -class MediaPlaybackFastForward : public ClusterCommand +class TestClusterTestNotHandled : public ClusterCommand { public: - MediaPlaybackFastForward(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("fast-forward", credsIssuerConfig) + TestClusterTestNotHandled(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test-not-handled", credsIssuerConfig) { ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000007) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000001) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000007, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000001, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000007) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000001) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000007, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000001, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::FastForward::Type mRequest; + chip::app::Clusters::TestCluster::Commands::TestNotHandled::Type mRequest; }; /* - * Command SkipForward + * Command TestSpecific */ -class MediaPlaybackSkipForward : public ClusterCommand +class TestClusterTestSpecific : public ClusterCommand { public: - MediaPlaybackSkipForward(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("skip-forward", credsIssuerConfig) + TestClusterTestSpecific(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test-specific", credsIssuerConfig) { - AddArgument("DeltaPositionMilliseconds", 0, UINT64_MAX, &mRequest.deltaPositionMilliseconds); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000008) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000002) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000008, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000002, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000008) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000002) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000008, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000002, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::SkipForward::Type mRequest; + chip::app::Clusters::TestCluster::Commands::TestSpecific::Type mRequest; }; /* - * Command SkipBackward + * Command TestUnknownCommand */ -class MediaPlaybackSkipBackward : public ClusterCommand +class TestClusterTestUnknownCommand : public ClusterCommand { public: - MediaPlaybackSkipBackward(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("skip-backward", credsIssuerConfig) + TestClusterTestUnknownCommand(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-unknown-command", credsIssuerConfig) { - AddArgument("DeltaPositionMilliseconds", 0, UINT64_MAX, &mRequest.deltaPositionMilliseconds); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000009) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000003) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000009, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000003, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000009) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000003) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000009, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000003, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::SkipBackward::Type mRequest; + chip::app::Clusters::TestCluster::Commands::TestUnknownCommand::Type mRequest; }; /* - * Command Seek + * Command TestAddArguments */ -class MediaPlaybackSeek : public ClusterCommand +class TestClusterTestAddArguments : public ClusterCommand { public: - MediaPlaybackSeek(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("seek", credsIssuerConfig) + TestClusterTestAddArguments(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-add-arguments", credsIssuerConfig) { - AddArgument("Position", 0, UINT64_MAX, &mRequest.position); + AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1); + AddArgument("Arg2", 0, UINT8_MAX, &mRequest.arg2); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x0000000B) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000004) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x0000000B, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000004, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x0000000B) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000004) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x0000000B, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000004, mRequest); } private: - chip::app::Clusters::MediaPlayback::Commands::Seek::Type mRequest; + chip::app::Clusters::TestCluster::Commands::TestAddArguments::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster MediaInput | 0x0507 | -|------------------------------------------------------------------------------| -| Commands: | | -| * SelectInput | 0x00 | -| * ShowInputStatus | 0x01 | -| * HideInputStatus | 0x02 | -| * RenameInput | 0x03 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * InputList | 0x0000 | -| * CurrentInput | 0x0001 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command SelectInput + * Command TestSimpleArgumentRequest */ -class MediaInputSelectInput : public ClusterCommand +class TestClusterTestSimpleArgumentRequest : public ClusterCommand { public: - MediaInputSelectInput(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("select-input", credsIssuerConfig) + TestClusterTestSimpleArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-simple-argument-request", credsIssuerConfig) { - AddArgument("Index", 0, UINT8_MAX, &mRequest.index); + AddArgument("Arg1", 0, 1, &mRequest.arg1); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000005) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000507, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000005, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000005) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000507, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000005, mRequest); } private: - chip::app::Clusters::MediaInput::Commands::SelectInput::Type mRequest; + chip::app::Clusters::TestCluster::Commands::TestSimpleArgumentRequest::Type mRequest; }; /* - * Command ShowInputStatus + * Command TestStructArrayArgumentRequest */ -class MediaInputShowInputStatus : public ClusterCommand +class TestClusterTestStructArrayArgumentRequest : public ClusterCommand { public: - MediaInputShowInputStatus(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("show-input-status", credsIssuerConfig) + 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(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000001) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000006) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000507, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000006, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000001) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000006) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000507, 0x00000001, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000006, mRequest); } private: - chip::app::Clusters::MediaInput::Commands::ShowInputStatus::Type mRequest; + chip::app::Clusters::TestCluster::Commands::TestStructArrayArgumentRequest::Type mRequest; + TypedComplexArgument> + mComplex_Arg1; + TypedComplexArgument> + mComplex_Arg2; + TypedComplexArgument> mComplex_Arg3; + TypedComplexArgument> mComplex_Arg4; }; /* - * Command HideInputStatus + * Command TestStructArgumentRequest */ -class MediaInputHideInputStatus : public ClusterCommand +class TestClusterTestStructArgumentRequest : public ClusterCommand { public: - MediaInputHideInputStatus(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("hide-input-status", credsIssuerConfig) + TestClusterTestStructArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-struct-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) { + AddArgument("Arg1", &mComplex_Arg1); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000002) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000007) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000507, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000007, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000002) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000007) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000507, 0x00000002, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000007, mRequest); } private: - chip::app::Clusters::MediaInput::Commands::HideInputStatus::Type mRequest; + chip::app::Clusters::TestCluster::Commands::TestStructArgumentRequest::Type mRequest; + TypedComplexArgument mComplex_Arg1; }; /* - * Command RenameInput + * Command TestNestedStructArgumentRequest */ -class MediaInputRenameInput : public ClusterCommand +class TestClusterTestNestedStructArgumentRequest : public ClusterCommand { public: - MediaInputRenameInput(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("rename-input", credsIssuerConfig) + TestClusterTestNestedStructArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-nested-struct-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) { - AddArgument("Index", 0, UINT8_MAX, &mRequest.index); - AddArgument("Name", &mRequest.name); + AddArgument("Arg1", &mComplex_Arg1); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000003) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000008) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000507, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000008, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000003) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000008) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000507, 0x00000003, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000008, mRequest); } private: - chip::app::Clusters::MediaInput::Commands::RenameInput::Type mRequest; + chip::app::Clusters::TestCluster::Commands::TestNestedStructArgumentRequest::Type mRequest; + TypedComplexArgument mComplex_Arg1; }; -/*----------------------------------------------------------------------------*\ -| Cluster LowPower | 0x0508 | -|------------------------------------------------------------------------------| -| Commands: | | -| * Sleep | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command Sleep + * Command TestListStructArgumentRequest */ -class LowPowerSleep : public ClusterCommand +class TestClusterTestListStructArgumentRequest : public ClusterCommand { public: - LowPowerSleep(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("sleep", credsIssuerConfig) + TestClusterTestListStructArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-list-struct-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) { + AddArgument("Arg1", &mComplex_Arg1); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000508) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000009) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000508, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000009, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000508) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000009) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000508, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000009, mRequest); } private: - chip::app::Clusters::LowPower::Commands::Sleep::Type mRequest; + chip::app::Clusters::TestCluster::Commands::TestListStructArgumentRequest::Type mRequest; + TypedComplexArgument> + mComplex_Arg1; }; -/*----------------------------------------------------------------------------*\ -| Cluster KeypadInput | 0x0509 | -|------------------------------------------------------------------------------| -| Commands: | | -| * SendKey | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command SendKey + * Command TestListInt8UArgumentRequest */ -class KeypadInputSendKey : public ClusterCommand +class TestClusterTestListInt8UArgumentRequest : public ClusterCommand { public: - KeypadInputSendKey(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("send-key", credsIssuerConfig) + TestClusterTestListInt8UArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-list-int8uargument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) { - AddArgument("KeyCode", 0, UINT8_MAX, &mRequest.keyCode); + AddArgument("Arg1", &mComplex_Arg1); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000509) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000A) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000509, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000A, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000509) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000A) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000509, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x0000000A, mRequest); } private: - chip::app::Clusters::KeypadInput::Commands::SendKey::Type mRequest; + chip::app::Clusters::TestCluster::Commands::TestListInt8UArgumentRequest::Type mRequest; + TypedComplexArgument> mComplex_Arg1; }; -/*----------------------------------------------------------------------------*\ -| Cluster ContentLauncher | 0x050A | -|------------------------------------------------------------------------------| -| Commands: | | -| * LaunchContent | 0x00 | -| * LaunchURL | 0x01 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * AcceptHeader | 0x0000 | -| * SupportedStreamingProtocols | 0x0001 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command LaunchContent + * Command TestNestedStructListArgumentRequest */ -class ContentLauncherLaunchContent : public ClusterCommand +class TestClusterTestNestedStructListArgumentRequest : public ClusterCommand { public: - ContentLauncherLaunchContent(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("launch-content", credsIssuerConfig), mComplex_Search(&mRequest.search) + TestClusterTestNestedStructListArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-nested-struct-list-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) { - AddArgument("Search", &mComplex_Search); - AddArgument("AutoPlay", 0, 1, &mRequest.autoPlay); - AddArgument("Data", &mRequest.data); + AddArgument("Arg1", &mComplex_Arg1); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050A) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000B) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050A, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000B, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050A) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000B) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050A, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x0000000B, mRequest); } private: - chip::app::Clusters::ContentLauncher::Commands::LaunchContent::Type mRequest; - TypedComplexArgument mComplex_Search; + chip::app::Clusters::TestCluster::Commands::TestNestedStructListArgumentRequest::Type mRequest; + TypedComplexArgument mComplex_Arg1; }; /* - * Command LaunchURL + * Command TestListNestedStructListArgumentRequest */ -class ContentLauncherLaunchURL : public ClusterCommand +class TestClusterTestListNestedStructListArgumentRequest : public ClusterCommand { public: - ContentLauncherLaunchURL(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("launch-url", credsIssuerConfig), mComplex_BrandingInformation(&mRequest.brandingInformation) + TestClusterTestListNestedStructListArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-list-nested-struct-list-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) { - AddArgument("ContentURL", &mRequest.contentURL); - AddArgument("DisplayString", &mRequest.displayString); - AddArgument("BrandingInformation", &mComplex_BrandingInformation); + AddArgument("Arg1", &mComplex_Arg1); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050A) command (0x00000001) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000C) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050A, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000C, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050A) command (0x00000001) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000C) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050A, 0x00000001, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x0000000C, mRequest); } private: - chip::app::Clusters::ContentLauncher::Commands::LaunchURL::Type mRequest; - TypedComplexArgument> - mComplex_BrandingInformation; + chip::app::Clusters::TestCluster::Commands::TestListNestedStructListArgumentRequest::Type mRequest; + TypedComplexArgument> + mComplex_Arg1; }; -/*----------------------------------------------------------------------------*\ -| Cluster AudioOutput | 0x050B | -|------------------------------------------------------------------------------| -| Commands: | | -| * SelectOutput | 0x00 | -| * RenameOutput | 0x01 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * OutputList | 0x0000 | -| * CurrentOutput | 0x0001 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command SelectOutput + * Command TestListInt8UReverseRequest */ -class AudioOutputSelectOutput : public ClusterCommand +class TestClusterTestListInt8UReverseRequest : public ClusterCommand { public: - AudioOutputSelectOutput(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("select-output", credsIssuerConfig) + TestClusterTestListInt8UReverseRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-list-int8ureverse-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) { - AddArgument("Index", 0, UINT8_MAX, &mRequest.index); + AddArgument("Arg1", &mComplex_Arg1); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050B) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000D) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050B, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000D, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050B) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000D) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050B, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x0000000D, mRequest); } private: - chip::app::Clusters::AudioOutput::Commands::SelectOutput::Type mRequest; + chip::app::Clusters::TestCluster::Commands::TestListInt8UReverseRequest::Type mRequest; + TypedComplexArgument> mComplex_Arg1; }; /* - * Command RenameOutput + * Command TestEnumsRequest */ -class AudioOutputRenameOutput : public ClusterCommand +class TestClusterTestEnumsRequest : public ClusterCommand { public: - AudioOutputRenameOutput(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("rename-output", credsIssuerConfig) + TestClusterTestEnumsRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-enums-request", credsIssuerConfig) { - AddArgument("Index", 0, UINT8_MAX, &mRequest.index); - AddArgument("Name", &mRequest.name); + AddArgument("Arg1", 0, UINT16_MAX, &mRequest.arg1); + AddArgument("Arg2", 0, UINT8_MAX, &mRequest.arg2); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050B) command (0x00000001) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000E) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050B, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000E, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050B) command (0x00000001) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000E) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050B, 0x00000001, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x0000000E, mRequest); } private: - chip::app::Clusters::AudioOutput::Commands::RenameOutput::Type mRequest; + chip::app::Clusters::TestCluster::Commands::TestEnumsRequest::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster ApplicationLauncher | 0x050C | -|------------------------------------------------------------------------------| -| Commands: | | -| * LaunchApp | 0x00 | -| * StopApp | 0x01 | -| * HideApp | 0x02 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * CatalogList | 0x0000 | -| * CurrentApp | 0x0001 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command LaunchApp + * Command TestNullableOptionalRequest */ -class ApplicationLauncherLaunchApp : public ClusterCommand +class TestClusterTestNullableOptionalRequest : public ClusterCommand { public: - ApplicationLauncherLaunchApp(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("launch-app", credsIssuerConfig), mComplex_Application(&mRequest.application) + TestClusterTestNullableOptionalRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-nullable-optional-request", credsIssuerConfig) { - AddArgument("Application", &mComplex_Application); - AddArgument("Data", &mRequest.data); + AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000F) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050C, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000F, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000F) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050C, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x0000000F, mRequest); } private: - chip::app::Clusters::ApplicationLauncher::Commands::LaunchApp::Type mRequest; - TypedComplexArgument mComplex_Application; + chip::app::Clusters::TestCluster::Commands::TestNullableOptionalRequest::Type mRequest; }; /* - * Command StopApp + * Command TestComplexNullableOptionalRequest */ -class ApplicationLauncherStopApp : public ClusterCommand +class TestClusterTestComplexNullableOptionalRequest : public ClusterCommand { public: - ApplicationLauncherStopApp(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("stop-app", credsIssuerConfig), mComplex_Application(&mRequest.application) + 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("Application", &mComplex_Application); + 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(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000001) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000010) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050C, 0x00000001, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000010, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000001) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000010) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050C, 0x00000001, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000010, mRequest); } private: - chip::app::Clusters::ApplicationLauncher::Commands::StopApp::Type mRequest; - TypedComplexArgument mComplex_Application; + 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 HideApp + * Command SimpleStructEchoRequest */ -class ApplicationLauncherHideApp : public ClusterCommand +class TestClusterSimpleStructEchoRequest : public ClusterCommand { public: - ApplicationLauncherHideApp(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("hide-app", credsIssuerConfig), mComplex_Application(&mRequest.application) + TestClusterSimpleStructEchoRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("simple-struct-echo-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) { - AddArgument("Application", &mComplex_Application); + AddArgument("Arg1", &mComplex_Arg1); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000002) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000011) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050C, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000011, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000002) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000011) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050C, 0x00000002, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000011, mRequest); } private: - chip::app::Clusters::ApplicationLauncher::Commands::HideApp::Type mRequest; - TypedComplexArgument mComplex_Application; + chip::app::Clusters::TestCluster::Commands::SimpleStructEchoRequest::Type mRequest; + TypedComplexArgument mComplex_Arg1; }; -/*----------------------------------------------------------------------------*\ -| Cluster ApplicationBasic | 0x050D | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * VendorName | 0x0000 | -| * VendorID | 0x0001 | -| * ApplicationName | 0x0002 | -| * ProductID | 0x0003 | -| * Application | 0x0004 | -| * Status | 0x0005 | -| * ApplicationVersion | 0x0006 | -| * AllowedVendorList | 0x0007 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ +/* + * Command TimedInvokeRequest + */ +class TestClusterTimedInvokeRequest : public ClusterCommand +{ +public: + TestClusterTimedInvokeRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("timed-invoke-request", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } -/*----------------------------------------------------------------------------*\ -| Cluster AccountLogin | 0x050E | -|------------------------------------------------------------------------------| -| Commands: | | -| * GetSetupPIN | 0x00 | -| * Login | 0x02 | -| * Logout | 0x03 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000012) on endpoint %u", endpointIds.at(0)); + + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000012, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000012) on Group %u", groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000012, mRequest); + } + +private: + chip::app::Clusters::TestCluster::Commands::TimedInvokeRequest::Type mRequest; +}; /* - * Command GetSetupPIN + * Command TestSimpleOptionalArgumentRequest */ -class AccountLoginGetSetupPIN : public ClusterCommand +class TestClusterTestSimpleOptionalArgumentRequest : public ClusterCommand { public: - AccountLoginGetSetupPIN(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-setup-pin", credsIssuerConfig) + TestClusterTestSimpleOptionalArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-simple-optional-argument-request", credsIssuerConfig) { - AddArgument("TempAccountIdentifier", &mRequest.tempAccountIdentifier); + AddArgument("Arg1", 0, 1, &mRequest.arg1); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000000) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000013) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050E, 0x00000000, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000013, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000000) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000013) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050E, 0x00000000, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000013, mRequest); } private: - chip::app::Clusters::AccountLogin::Commands::GetSetupPIN::Type mRequest; + chip::app::Clusters::TestCluster::Commands::TestSimpleOptionalArgumentRequest::Type mRequest; }; /* - * Command Login + * Command TestEmitTestEventRequest */ -class AccountLoginLogin : public ClusterCommand +class TestClusterTestEmitTestEventRequest : public ClusterCommand { public: - AccountLoginLogin(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("login", credsIssuerConfig) + TestClusterTestEmitTestEventRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-emit-test-event-request", credsIssuerConfig) { - AddArgument("TempAccountIdentifier", &mRequest.tempAccountIdentifier); - AddArgument("SetupPIN", &mRequest.setupPIN); + 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(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000002) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000014) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050E, 0x00000002, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000014, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000002) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000014) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050E, 0x00000002, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000014, mRequest); } private: - chip::app::Clusters::AccountLogin::Commands::Login::Type mRequest; + chip::app::Clusters::TestCluster::Commands::TestEmitTestEventRequest::Type mRequest; }; /* - * Command Logout + * Command TestEmitTestFabricScopedEventRequest */ -class AccountLoginLogout : public ClusterCommand +class TestClusterTestEmitTestFabricScopedEventRequest : public ClusterCommand { public: - AccountLoginLogout(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("logout", credsIssuerConfig) + TestClusterTestEmitTestFabricScopedEventRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-emit-test-fabric-scoped-event-request", credsIssuerConfig) { + AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000003) on endpoint %u", endpointIds.at(0)); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000015) on endpoint %u", endpointIds.at(0)); - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050E, 0x00000003, mRequest); + return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000015, mRequest); } CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000003) on Group %u", groupId); + ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000015) on Group %u", groupId); - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050E, 0x00000003, mRequest); + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000015, mRequest); } private: - chip::app::Clusters::AccountLogin::Commands::Logout::Type mRequest; + chip::app::Clusters::TestCluster::Commands::TestEmitTestFabricScopedEventRequest::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 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 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 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster ApplianceEventsAndAlert | 0x0B02 | -|------------------------------------------------------------------------------| -| Commands: | | -| * GetAlerts | 0x00 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | +| Register all Clusters commands | \*----------------------------------------------------------------------------*/ - -/* - * Command GetAlerts - */ -class ApplianceEventsAndAlertGetAlerts : public ClusterCommand +void registerClusterIdentify(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { -public: - ApplianceEventsAndAlertGetAlerts(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-alerts", credsIssuerConfig) - { - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000B02) command (0x00000000) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000B02, 0x00000000, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000B02) command (0x00000000) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000B02, 0x00000000, mRequest); - } + using namespace chip::app::Clusters::Identify; -private: - chip::app::Clusters::ApplianceEventsAndAlert::Commands::GetAlerts::Type mRequest; -}; + const char * clusterName = "Identify"; -/*----------------------------------------------------------------------------*\ -| Cluster ApplianceStatistics | 0x0B03 | -|------------------------------------------------------------------------------| -| Commands: | | -| * LogRequest | 0x00 | -| * LogQueueRequest | 0x01 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * LogMaxSize | 0x0000 | -| * LogQueueMaxSize | 0x0001 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "identify-time", 0, UINT16_MAX, Attributes::IdentifyTime::Id, + 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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), // + }; -/* - * Command LogRequest - */ -class ApplianceStatisticsLogRequest : public ClusterCommand + commands.Register(clusterName, clusterCommands); +} +void registerClusterGroups(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { -public: - ApplianceStatisticsLogRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("log-request", credsIssuerConfig) - { - AddArgument("LogId", 0, UINT32_MAX, &mRequest.logId); - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000B03) command (0x00000000) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000B03, 0x00000000, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000B03) command (0x00000000) on Group %u", groupId); + using namespace chip::app::Clusters::Groups; - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000B03, 0x00000000, mRequest); - } + const char * clusterName = "Groups"; -private: - chip::app::Clusters::ApplianceStatistics::Commands::LogRequest::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), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "name-support", Attributes::NameSupport::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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), // + }; -/* - * Command LogQueueRequest - */ -class ApplianceStatisticsLogQueueRequest : public ClusterCommand + commands.Register(clusterName, clusterCommands); +} +void registerClusterScenes(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { -public: - ApplianceStatisticsLogQueueRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("log-queue-request", credsIssuerConfig) - { - ClusterCommand::AddArguments(); - } - - CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000B03) command (0x00000001) on endpoint %u", endpointIds.at(0)); + using namespace chip::app::Clusters::Scenes; - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000B03, 0x00000001, mRequest); - } + const char * clusterName = "Scenes"; - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000B03) command (0x00000001) on Group %u", groupId); + 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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::SendGroupCommand(groupId, fabricIndex, 0x00000B03, 0x00000001, mRequest); - } + commands.Register(clusterName, clusterCommands); +} +void registerClusterOnOff(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::OnOff; -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 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000B04) command (0x00000000) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000B04, 0x00000000, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000B04) command (0x00000000) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000B04) command (0x00000001) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000B04, 0x00000001, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0x00000B04) command (0x00000001) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000B04, 0x00000001, mRequest); - } - -private: - chip::app::Clusters::ElectricalMeasurement::Commands::GetMeasurementProfileCommand::Type mRequest; -}; - -/*----------------------------------------------------------------------------*\ -| Cluster TestCluster | 0xFFF1FC05| -|------------------------------------------------------------------------------| -| 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 | 0x4000 | -| * NullableBitmap8 | 0x4001 | -| * NullableBitmap16 | 0x4002 | -| * NullableBitmap32 | 0x4003 | -| * NullableBitmap64 | 0x4004 | -| * NullableInt8u | 0x4005 | -| * NullableInt16u | 0x4006 | -| * NullableInt24u | 0x4007 | -| * NullableInt32u | 0x4008 | -| * NullableInt40u | 0x4009 | -| * NullableInt48u | 0x400A | -| * NullableInt56u | 0x400B | -| * NullableInt64u | 0x400C | -| * NullableInt8s | 0x400D | -| * NullableInt16s | 0x400E | -| * NullableInt24s | 0x400F | -| * NullableInt32s | 0x4010 | -| * NullableInt40s | 0x4011 | -| * NullableInt48s | 0x4012 | -| * NullableInt56s | 0x4013 | -| * NullableInt64s | 0x4014 | -| * NullableEnum8 | 0x4015 | -| * NullableEnum16 | 0x4016 | -| * NullableFloatSingle | 0x4017 | -| * NullableFloatDouble | 0x4018 | -| * NullableOctetString | 0x4019 | -| * NullableCharString | 0x401E | -| * NullableEnumAttr | 0x4024 | -| * NullableStruct | 0x4025 | -| * NullableRangeRestrictedInt8u | 0x4026 | -| * NullableRangeRestrictedInt8s | 0x4027 | -| * NullableRangeRestrictedInt16u | 0x4028 | -| * NullableRangeRestrictedInt16s | 0x4029 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000000) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000000, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000000) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000001) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000001, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000001) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000002) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000002, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000002) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000003) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000003, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000003) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000004) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000004, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000004) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000005) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000005, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000005) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000006) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000006, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000006) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000007) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000007, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000007) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000008) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000008, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000008) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000009) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000009, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000009) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000A) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000A, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000A) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000B) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000B, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000B) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000C) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000C, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000C) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000D) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000D, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000D) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000E) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000E, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000E) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000F) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000F, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000F) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000010) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000010, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000010) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000011) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000011, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000011) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000012) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000012, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000012) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000013) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000013, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000013) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000014) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000014, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000014) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 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(chip::DeviceProxy * device, std::vector endpointIds) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000015) on endpoint %u", endpointIds.at(0)); - - return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000015, mRequest); - } - - CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override - { - ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000015) on Group %u", groupId); - - return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000015, mRequest); - } - -private: - chip::app::Clusters::TestCluster::Commands::TestEmitTestFabricScopedEventRequest::Type mRequest; -}; - -/*----------------------------------------------------------------------------*\ -| 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "mains-alarm-mask", 0, UINT8_MAX, Attributes::MainsAlarmMask::Id, - credsIssuerConfig), // - make_unique>(Id, "mains-voltage-min-threshold", 0, UINT16_MAX, - Attributes::MainsVoltageMinThreshold::Id, credsIssuerConfig), // - make_unique>(Id, "mains-voltage-max-threshold", 0, UINT16_MAX, - Attributes::MainsVoltageMaxThreshold::Id, credsIssuerConfig), // - make_unique>(Id, "mains-voltage-dwell-trip", 0, UINT16_MAX, Attributes::MainsVoltageDwellTrip::Id, - credsIssuerConfig), // - make_unique>(Id, "battery-manufacturer", Attributes::BatteryManufacturer::Id, - credsIssuerConfig), // - make_unique>(Id, "battery-size", 0, UINT8_MAX, Attributes::BatterySize::Id, credsIssuerConfig), // - make_unique>(Id, "battery-ahr-rating", 0, UINT16_MAX, Attributes::BatteryAhrRating::Id, - credsIssuerConfig), // - make_unique>(Id, "battery-quantity", 0, UINT8_MAX, Attributes::BatteryQuantity::Id, - credsIssuerConfig), // - make_unique>(Id, "battery-rated-voltage", 0, UINT8_MAX, Attributes::BatteryRatedVoltage::Id, - credsIssuerConfig), // - make_unique>(Id, "battery-alarm-mask", 0, UINT8_MAX, Attributes::BatteryAlarmMask::Id, - credsIssuerConfig), // - make_unique>(Id, "battery-voltage-min-threshold", 0, UINT8_MAX, - Attributes::BatteryVoltageMinThreshold::Id, credsIssuerConfig), // - make_unique>(Id, "battery-voltage-threshold1", 0, UINT8_MAX, - Attributes::BatteryVoltageThreshold1::Id, credsIssuerConfig), // - make_unique>(Id, "battery-voltage-threshold2", 0, UINT8_MAX, - Attributes::BatteryVoltageThreshold2::Id, credsIssuerConfig), // - make_unique>(Id, "battery-voltage-threshold3", 0, UINT8_MAX, - Attributes::BatteryVoltageThreshold3::Id, credsIssuerConfig), // - make_unique>(Id, "battery-percentage-min-threshold", 0, UINT8_MAX, - Attributes::BatteryPercentageMinThreshold::Id, credsIssuerConfig), // - make_unique>(Id, "battery-percentage-threshold1", 0, UINT8_MAX, - Attributes::BatteryPercentageThreshold1::Id, credsIssuerConfig), // - make_unique>(Id, "battery-percentage-threshold2", 0, UINT8_MAX, - Attributes::BatteryPercentageThreshold2::Id, credsIssuerConfig), // - make_unique>(Id, "battery-percentage-threshold3", 0, UINT8_MAX, - Attributes::BatteryPercentageThreshold3::Id, credsIssuerConfig), // - make_unique>(Id, "battery2manufacturer", Attributes::Battery2Manufacturer::Id, - credsIssuerConfig), // - make_unique>(Id, "battery2size", 0, UINT8_MAX, Attributes::Battery2Size::Id, credsIssuerConfig), // - make_unique>(Id, "battery2ahr-rating", 0, UINT16_MAX, Attributes::Battery2AhrRating::Id, - credsIssuerConfig), // - make_unique>(Id, "battery2quantity", 0, UINT8_MAX, Attributes::Battery2Quantity::Id, - credsIssuerConfig), // - make_unique>(Id, "battery2rated-voltage", 0, UINT8_MAX, Attributes::Battery2RatedVoltage::Id, - credsIssuerConfig), // - make_unique>(Id, "battery2alarm-mask", 0, UINT8_MAX, Attributes::Battery2AlarmMask::Id, - credsIssuerConfig), // - make_unique>(Id, "battery2voltage-min-threshold", 0, UINT8_MAX, - Attributes::Battery2VoltageMinThreshold::Id, credsIssuerConfig), // - make_unique>(Id, "battery2voltage-threshold1", 0, UINT8_MAX, - Attributes::Battery2VoltageThreshold1::Id, credsIssuerConfig), // - make_unique>(Id, "battery2voltage-threshold2", 0, UINT8_MAX, - Attributes::Battery2VoltageThreshold2::Id, credsIssuerConfig), // - make_unique>(Id, "battery2voltage-threshold3", 0, UINT8_MAX, - Attributes::Battery2VoltageThreshold3::Id, credsIssuerConfig), // - make_unique>(Id, "battery2percentage-min-threshold", 0, UINT8_MAX, - Attributes::Battery2PercentageMinThreshold::Id, credsIssuerConfig), // - make_unique>(Id, "battery2percentage-threshold1", 0, UINT8_MAX, - Attributes::Battery2PercentageThreshold1::Id, credsIssuerConfig), // - make_unique>(Id, "battery2percentage-threshold2", 0, UINT8_MAX, - Attributes::Battery2PercentageThreshold2::Id, credsIssuerConfig), // - make_unique>(Id, "battery2percentage-threshold3", 0, UINT8_MAX, - Attributes::Battery2PercentageThreshold3::Id, credsIssuerConfig), // - make_unique>(Id, "battery3manufacturer", Attributes::Battery3Manufacturer::Id, - credsIssuerConfig), // - make_unique>(Id, "battery3size", 0, UINT8_MAX, Attributes::Battery3Size::Id, credsIssuerConfig), // - make_unique>(Id, "battery3ahr-rating", 0, UINT16_MAX, Attributes::Battery3AhrRating::Id, - credsIssuerConfig), // - make_unique>(Id, "battery3quantity", 0, UINT8_MAX, Attributes::Battery3Quantity::Id, - credsIssuerConfig), // - make_unique>(Id, "battery3rated-voltage", 0, UINT8_MAX, Attributes::Battery3RatedVoltage::Id, - credsIssuerConfig), // - make_unique>(Id, "battery3alarm-mask", 0, UINT8_MAX, Attributes::Battery3AlarmMask::Id, - credsIssuerConfig), // - make_unique>(Id, "battery3voltage-min-threshold", 0, UINT8_MAX, - Attributes::Battery3VoltageMinThreshold::Id, credsIssuerConfig), // - make_unique>(Id, "battery3voltage-threshold1", 0, UINT8_MAX, - Attributes::Battery3VoltageThreshold1::Id, credsIssuerConfig), // - make_unique>(Id, "battery3voltage-threshold2", 0, UINT8_MAX, - Attributes::Battery3VoltageThreshold2::Id, credsIssuerConfig), // - make_unique>(Id, "battery3voltage-threshold3", 0, UINT8_MAX, - Attributes::Battery3VoltageThreshold3::Id, credsIssuerConfig), // - make_unique>(Id, "battery3percentage-min-threshold", 0, UINT8_MAX, - Attributes::Battery3PercentageMinThreshold::Id, credsIssuerConfig), // - make_unique>(Id, "battery3percentage-threshold1", 0, UINT8_MAX, - Attributes::Battery3PercentageThreshold1::Id, credsIssuerConfig), // - make_unique>(Id, "battery3percentage-threshold2", 0, UINT8_MAX, - Attributes::Battery3PercentageThreshold2::Id, credsIssuerConfig), // - make_unique>(Id, "battery3percentage-threshold3", 0, UINT8_MAX, - Attributes::Battery3PercentageThreshold3::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "device-temp-alarm-mask", 0, UINT8_MAX, Attributes::DeviceTempAlarmMask::Id, - credsIssuerConfig), // - make_unique>(Id, "low-temp-threshold", INT16_MIN, INT16_MAX, Attributes::LowTempThreshold::Id, - credsIssuerConfig), // - make_unique>(Id, "high-temp-threshold", INT16_MIN, INT16_MAX, Attributes::HighTempThreshold::Id, - credsIssuerConfig), // - make_unique>(Id, "low-temp-dwell-trip-point", 0, UINT32_MAX, Attributes::LowTempDwellTripPoint::Id, - credsIssuerConfig), // - make_unique>(Id, "high-temp-dwell-trip-point", 0, UINT32_MAX, - Attributes::HighTempDwellTripPoint::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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), // - // - // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "identify-time", 0, UINT16_MAX, Attributes::IdentifyTime::Id, - 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "on-time", 0, UINT16_MAX, Attributes::OnTime::Id, credsIssuerConfig), // - make_unique>(Id, "off-wait-time", 0, UINT16_MAX, Attributes::OffWaitTime::Id, - credsIssuerConfig), // - make_unique>>( - Id, "start-up-on-off", 0, UINT8_MAX, Attributes::StartUpOnOff::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "switch-actions", 0, UINT8_MAX, Attributes::SwitchActions::Id, - 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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), // - 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "options", 0, UINT8_MAX, Attributes::Options::Id, credsIssuerConfig), // - make_unique>(Id, "on-off-transition-time", 0, UINT16_MAX, Attributes::OnOffTransitionTime::Id, - credsIssuerConfig), // - make_unique>>(Id, "on-level", 0, UINT8_MAX, Attributes::OnLevel::Id, - credsIssuerConfig), // - make_unique>>( - Id, "on-transition-time", 0, UINT16_MAX, Attributes::OnTransitionTime::Id, credsIssuerConfig), // - make_unique>>( - Id, "off-transition-time", 0, UINT16_MAX, Attributes::OffTransitionTime::Id, credsIssuerConfig), // - make_unique>>(Id, "default-move-rate", 0, UINT8_MAX, - Attributes::DefaultMoveRate::Id, credsIssuerConfig), // - make_unique>>( - Id, "start-up-current-level", 0, UINT8_MAX, Attributes::StartUpCurrentLevel::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "time", 0, UINT32_MAX, Attributes::Time::Id, credsIssuerConfig), // - make_unique>(Id, "time-status", 0, UINT8_MAX, Attributes::TimeStatus::Id, credsIssuerConfig), // - make_unique>(Id, "time-zone", INT32_MIN, INT32_MAX, Attributes::TimeZone::Id, credsIssuerConfig), // - make_unique>(Id, "dst-start", 0, UINT32_MAX, Attributes::DstStart::Id, credsIssuerConfig), // - make_unique>(Id, "dst-end", 0, UINT32_MAX, Attributes::DstEnd::Id, credsIssuerConfig), // - make_unique>(Id, "dst-shift", INT32_MIN, INT32_MAX, Attributes::DstShift::Id, credsIssuerConfig), // - make_unique>(Id, "valid-until-time", 0, UINT32_MAX, Attributes::ValidUntilTime::Id, - 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "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", 0, 1, Attributes::OutOfService::Id, credsIssuerConfig), // - make_unique>(Id, "present-value", 0, 1, Attributes::PresentValue::Id, credsIssuerConfig), // - make_unique>(Id, "reliability", 0, UINT8_MAX, Attributes::Reliability::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "schedule-mode", 0, UINT8_MAX, Attributes::ScheduleMode::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "binding", Attributes::Binding::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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< - WriteAttributeAsComplex>>( - Id, "binding", Attributes::Binding::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "binding", Attributes::Binding::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "subjects-per-access-control-entry", Attributes::SubjectsPerAccessControlEntry::Id, - credsIssuerConfig), // - make_unique(Id, "targets-per-access-control-entry", Attributes::TargetsPerAccessControlEntry::Id, - credsIssuerConfig), // - make_unique(Id, "access-control-entries-per-fabric", Attributes::AccessControlEntriesPerFabric::Id, - credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "acl", Attributes::Acl::Id, credsIssuerConfig), // - make_unique>>( - Id, "extension", Attributes::Extension::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "acl", Attributes::Acl::Id, credsIssuerConfig), // - make_unique(Id, "extension", Attributes::Extension::Id, credsIssuerConfig), // - make_unique(Id, "subjects-per-access-control-entry", Attributes::SubjectsPerAccessControlEntry::Id, - credsIssuerConfig), // - make_unique(Id, "targets-per-access-control-entry", Attributes::TargetsPerAccessControlEntry::Id, - credsIssuerConfig), // - make_unique(Id, "access-control-entries-per-fabric", Attributes::AccessControlEntriesPerFabric::Id, - credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "check-in-interval", 0, UINT32_MAX, Attributes::CheckInInterval::Id, - credsIssuerConfig), // - make_unique>(Id, "fast-poll-timeout", 0, UINT16_MAX, Attributes::FastPollTimeout::Id, - 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "capability-minima", Attributes::CapabilityMinima::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "node-label", Attributes::NodeLabel::Id, credsIssuerConfig), // - make_unique>(Id, "location", Attributes::Location::Id, credsIssuerConfig), // - make_unique>(Id, "local-config-disabled", 0, 1, Attributes::LocalConfigDisabled::Id, - 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, "capability-minima", Attributes::CapabilityMinima::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "default-ota-providers", Attributes::DefaultOtaProviders::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "active-locale", Attributes::ActiveLocale::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "hour-format", 0, UINT8_MAX, Attributes::HourFormat::Id, credsIssuerConfig), // - make_unique>( - Id, "active-calendar-type", 0, UINT8_MAX, Attributes::ActiveCalendarType::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "temperature-unit", 0, UINT8_MAX, Attributes::TemperatureUnit::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "temperature-unit", Attributes::TemperatureUnit::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "bat-voltage", Attributes::BatVoltage::Id, credsIssuerConfig), // - make_unique(Id, "bat-percent-remaining", Attributes::BatPercentRemaining::Id, credsIssuerConfig), // - make_unique(Id, "bat-time-remaining", Attributes::BatTimeRemaining::Id, credsIssuerConfig), // - make_unique(Id, "bat-charge-level", Attributes::BatChargeLevel::Id, credsIssuerConfig), // - make_unique(Id, "bat-replacement-needed", Attributes::BatReplacementNeeded::Id, credsIssuerConfig), // - make_unique(Id, "bat-replaceability", Attributes::BatReplaceability::Id, credsIssuerConfig), // - make_unique(Id, "bat-present", Attributes::BatPresent::Id, credsIssuerConfig), // - make_unique(Id, "active-bat-faults", Attributes::ActiveBatFaults::Id, credsIssuerConfig), // - make_unique(Id, "bat-replacement-description", Attributes::BatReplacementDescription::Id, - credsIssuerConfig), // - make_unique(Id, "bat-common-designation", Attributes::BatCommonDesignation::Id, credsIssuerConfig), // - make_unique(Id, "bat-ansidesignation", Attributes::BatANSIDesignation::Id, credsIssuerConfig), // - make_unique(Id, "bat-iecdesignation", Attributes::BatIECDesignation::Id, credsIssuerConfig), // - make_unique(Id, "bat-approved-chemistry", Attributes::BatApprovedChemistry::Id, credsIssuerConfig), // - make_unique(Id, "bat-capacity", Attributes::BatCapacity::Id, credsIssuerConfig), // - make_unique(Id, "bat-quantity", Attributes::BatQuantity::Id, credsIssuerConfig), // - make_unique(Id, "bat-charge-state", Attributes::BatChargeState::Id, credsIssuerConfig), // - make_unique(Id, "bat-time-to-full-charge", Attributes::BatTimeToFullCharge::Id, credsIssuerConfig), // - make_unique(Id, "bat-functional-while-charging", Attributes::BatFunctionalWhileCharging::Id, - credsIssuerConfig), // - make_unique(Id, "bat-charging-current", Attributes::BatChargingCurrent::Id, credsIssuerConfig), // - make_unique(Id, "active-bat-charge-faults", Attributes::ActiveBatChargeFaults::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "bat-voltage", Attributes::BatVoltage::Id, credsIssuerConfig), // - make_unique(Id, "bat-percent-remaining", Attributes::BatPercentRemaining::Id, credsIssuerConfig), // - make_unique(Id, "bat-time-remaining", Attributes::BatTimeRemaining::Id, credsIssuerConfig), // - make_unique(Id, "bat-charge-level", Attributes::BatChargeLevel::Id, credsIssuerConfig), // - make_unique(Id, "bat-replacement-needed", Attributes::BatReplacementNeeded::Id, credsIssuerConfig), // - make_unique(Id, "bat-replaceability", Attributes::BatReplaceability::Id, credsIssuerConfig), // - make_unique(Id, "bat-present", Attributes::BatPresent::Id, credsIssuerConfig), // - make_unique(Id, "active-bat-faults", Attributes::ActiveBatFaults::Id, credsIssuerConfig), // - make_unique(Id, "bat-replacement-description", Attributes::BatReplacementDescription::Id, - credsIssuerConfig), // - make_unique(Id, "bat-common-designation", Attributes::BatCommonDesignation::Id, credsIssuerConfig), // - make_unique(Id, "bat-ansidesignation", Attributes::BatANSIDesignation::Id, credsIssuerConfig), // - make_unique(Id, "bat-iecdesignation", Attributes::BatIECDesignation::Id, credsIssuerConfig), // - make_unique(Id, "bat-approved-chemistry", Attributes::BatApprovedChemistry::Id, credsIssuerConfig), // - make_unique(Id, "bat-capacity", Attributes::BatCapacity::Id, credsIssuerConfig), // - make_unique(Id, "bat-quantity", Attributes::BatQuantity::Id, credsIssuerConfig), // - make_unique(Id, "bat-charge-state", Attributes::BatChargeState::Id, credsIssuerConfig), // - make_unique(Id, "bat-time-to-full-charge", Attributes::BatTimeToFullCharge::Id, credsIssuerConfig), // - make_unique(Id, "bat-functional-while-charging", Attributes::BatFunctionalWhileCharging::Id, - credsIssuerConfig), // - make_unique(Id, "bat-charging-current", Attributes::BatChargingCurrent::Id, credsIssuerConfig), // - make_unique(Id, "active-bat-charge-faults", Attributes::ActiveBatChargeFaults::Id, - credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "supports-concurrent-connection", Attributes::SupportsConcurrentConnection::Id, - credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "breadcrumb", 0, UINT64_MAX, Attributes::Breadcrumb::Id, 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, "supports-concurrent-connection", Attributes::SupportsConcurrentConnection::Id, - credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "interface-enabled", 0, 1, Attributes::InterfaceEnabled::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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), // - make_unique(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, "test-event-triggers-enabled", Attributes::TestEventTriggersEnabled::Id, - credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "test-event-triggers-enabled", Attributes::TestEventTriggersEnabled::Id, - credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "node-label", Attributes::NodeLabel::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, "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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "nocs", Attributes::NOCs::Id, credsIssuerConfig), // - make_unique(Id, "fabrics", Attributes::Fabrics::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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", Attributes::Fabrics::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "group-key-map", Attributes::GroupKeyMap::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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< - WriteAttributeAsComplex>>( - Id, "label-list", Attributes::LabelList::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "label-list", Attributes::LabelList::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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"; + const char * clusterName = "OnOff"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // + 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, "description", Attributes::Description::Id, credsIssuerConfig), // - make_unique(Id, "standard-namespace", Attributes::StandardNamespace::Id, credsIssuerConfig), // - make_unique(Id, "supported-modes", Attributes::SupportedModes::Id, credsIssuerConfig), // - make_unique(Id, "current-mode", Attributes::CurrentMode::Id, credsIssuerConfig), // - make_unique(Id, "start-up-mode", Attributes::StartUpMode::Id, credsIssuerConfig), // - make_unique(Id, "on-mode", Attributes::OnMode::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "start-up-mode", 0, UINT8_MAX, - Attributes::StartUpMode::Id, credsIssuerConfig), // - make_unique>>(Id, "on-mode", 0, UINT8_MAX, Attributes::OnMode::Id, - credsIssuerConfig), // + make_unique>(Id, "on-time", 0, UINT16_MAX, Attributes::OnTime::Id, credsIssuerConfig), // + make_unique>(Id, "off-wait-time", 0, UINT16_MAX, Attributes::OffWaitTime::Id, + credsIssuerConfig), // + make_unique>>( + Id, "start-up-on-off", 0, UINT8_MAX, Attributes::StartUpOnOff::Id, credsIssuerConfig), // make_unique(Id, credsIssuerConfig), // - make_unique(Id, "description", Attributes::Description::Id, credsIssuerConfig), // - make_unique(Id, "standard-namespace", Attributes::StandardNamespace::Id, credsIssuerConfig), // - make_unique(Id, "supported-modes", Attributes::SupportedModes::Id, credsIssuerConfig), // - make_unique(Id, "current-mode", Attributes::CurrentMode::Id, credsIssuerConfig), // - make_unique(Id, "start-up-mode", Attributes::StartUpMode::Id, credsIssuerConfig), // - make_unique(Id, "on-mode", Attributes::OnMode::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -12767,11 +8297,11 @@ void registerClusterModeSelect(Commands & commands, CredentialIssuerCommands * c commands.Register(clusterName, clusterCommands); } -void registerClusterShadeConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterOnOffSwitchConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::ShadeConfiguration; + using namespace chip::app::Clusters::OnOffSwitchConfiguration; - const char * clusterName = "ShadeConfiguration"; + const char * clusterName = "OnOffSwitchConfiguration"; commands_list clusterCommands = { // @@ -12781,32 +8311,25 @@ void registerClusterShadeConfiguration(Commands & commands, CredentialIssuerComm // // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "status", 0, UINT8_MAX, Attributes::Status::Id, credsIssuerConfig), // - make_unique>(Id, "closed-limit", 0, UINT16_MAX, Attributes::ClosedLimit::Id, credsIssuerConfig), // - make_unique>(Id, "mode", 0, UINT8_MAX, Attributes::Mode::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "switch-type", Attributes::SwitchType::Id, credsIssuerConfig), // + make_unique(Id, "switch-actions", Attributes::SwitchActions::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "switch-actions", 0, UINT8_MAX, Attributes::SwitchActions::Id, + 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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 // @@ -12816,178 +8339,78 @@ void registerClusterShadeConfiguration(Commands & commands, CredentialIssuerComm commands.Register(clusterName, clusterCommands); } -void registerClusterDoorLock(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterLevelControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::DoorLock; + using namespace chip::app::Clusters::LevelControl; - const char * clusterName = "DoorLock"; + 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), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(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), // + 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-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, "number-of-credentials-supported-per-user", - Attributes::NumberOfCredentialsSupportedPerUser::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, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "door-open-events", 0, UINT32_MAX, Attributes::DoorOpenEvents::Id, + make_unique>(Id, "options", 0, UINT8_MAX, Attributes::Options::Id, credsIssuerConfig), // + make_unique>(Id, "on-off-transition-time", 0, UINT16_MAX, Attributes::OnOffTransitionTime::Id, credsIssuerConfig), // - make_unique>(Id, "door-closed-events", 0, UINT32_MAX, Attributes::DoorClosedEvents::Id, - credsIssuerConfig), // - make_unique>(Id, "open-period", 0, UINT16_MAX, Attributes::OpenPeriod::Id, credsIssuerConfig), // - make_unique>(Id, "language", Attributes::Language::Id, credsIssuerConfig), // - make_unique>(Id, "ledsettings", 0, UINT8_MAX, Attributes::LEDSettings::Id, credsIssuerConfig), // - make_unique>(Id, "auto-relock-time", 0, UINT32_MAX, Attributes::AutoRelockTime::Id, - credsIssuerConfig), // - make_unique>(Id, "sound-volume", 0, UINT8_MAX, Attributes::SoundVolume::Id, credsIssuerConfig), // - make_unique>( - Id, "operating-mode", 0, UINT8_MAX, Attributes::OperatingMode::Id, credsIssuerConfig), // - make_unique>(Id, "enable-local-programming", 0, 1, Attributes::EnableLocalProgramming::Id, - credsIssuerConfig), // - make_unique>(Id, "enable-one-touch-locking", 0, 1, Attributes::EnableOneTouchLocking::Id, - credsIssuerConfig), // - make_unique>(Id, "enable-inside-status-led", 0, 1, Attributes::EnableInsideStatusLED::Id, - credsIssuerConfig), // - make_unique>(Id, "enable-privacy-mode-button", 0, 1, Attributes::EnablePrivacyModeButton::Id, - credsIssuerConfig), // - make_unique>>( - Id, "local-programming-features", 0, UINT8_MAX, Attributes::LocalProgrammingFeatures::Id, credsIssuerConfig), // - make_unique>(Id, "wrong-code-entry-limit", 0, UINT8_MAX, Attributes::WrongCodeEntryLimit::Id, - credsIssuerConfig), // - make_unique>(Id, "user-code-temporary-disable-time", 0, UINT8_MAX, - Attributes::UserCodeTemporaryDisableTime::Id, credsIssuerConfig), // - make_unique>(Id, "send-pinover-the-air", 0, 1, Attributes::SendPINOverTheAir::Id, - credsIssuerConfig), // - make_unique>(Id, "require-pinfor-remote-operation", 0, 1, Attributes::RequirePINforRemoteOperation::Id, - credsIssuerConfig), // - make_unique>(Id, "expiring-user-timeout", 0, UINT16_MAX, Attributes::ExpiringUserTimeout::Id, - 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-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, "number-of-credentials-supported-per-user", - Attributes::NumberOfCredentialsSupportedPerUser::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, "on-level", 0, UINT8_MAX, Attributes::OnLevel::Id, + credsIssuerConfig), // + make_unique>>( + Id, "on-transition-time", 0, UINT16_MAX, Attributes::OnTransitionTime::Id, credsIssuerConfig), // + make_unique>>( + Id, "off-transition-time", 0, UINT16_MAX, Attributes::OffTransitionTime::Id, credsIssuerConfig), // + make_unique>>(Id, "default-move-rate", 0, UINT8_MAX, + Attributes::DefaultMoveRate::Id, credsIssuerConfig), // + make_unique>>( + Id, "start-up-current-level", 0, UINT8_MAX, Attributes::StartUpCurrentLevel::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -12996,119 +8419,179 @@ void registerClusterDoorLock(Commands & commands, CredentialIssuerCommands * cre // // 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), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // }; commands.Register(clusterName, clusterCommands); } -void registerClusterWindowCovering(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterBinaryInputBasic(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::WindowCovering; + using namespace chip::app::Clusters::BinaryInputBasic; - const char * clusterName = "WindowCovering"; + const char * clusterName = "BinaryInputBasic"; 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), // // // 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, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "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", 0, 1, Attributes::OutOfService::Id, credsIssuerConfig), // + make_unique>(Id, "present-value", 0, 1, Attributes::PresentValue::Id, credsIssuerConfig), // + make_unique>(Id, "reliability", 0, UINT8_MAX, Attributes::Reliability::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "binding", Attributes::Binding::Id, credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "mode", 0, UINT8_MAX, Attributes::Mode::Id, 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< + WriteAttributeAsComplex>>( + Id, "binding", Attributes::Binding::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "binding", Attributes::Binding::Id, credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -13123,66 +8606,50 @@ void registerClusterWindowCovering(Commands & commands, CredentialIssuerCommands commands.Register(clusterName, clusterCommands); } -void registerClusterBarrierControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterAccessControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::BarrierControl; + using namespace chip::app::Clusters::AccessControl; - const char * clusterName = "BarrierControl"; + const char * clusterName = "AccessControl"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // + make_unique(Id, 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, + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "acl", Attributes::Acl::Id, credsIssuerConfig), // + make_unique(Id, "extension", Attributes::Extension::Id, credsIssuerConfig), // + make_unique(Id, "subjects-per-access-control-entry", Attributes::SubjectsPerAccessControlEntry::Id, credsIssuerConfig), // - make_unique(Id, "barrier-command-close-events", Attributes::BarrierCommandCloseEvents::Id, + make_unique(Id, "targets-per-access-control-entry", Attributes::TargetsPerAccessControlEntry::Id, + credsIssuerConfig), // + make_unique(Id, "access-control-entries-per-fabric", Attributes::AccessControlEntriesPerFabric::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "barrier-open-events", 0, UINT16_MAX, Attributes::BarrierOpenEvents::Id, - credsIssuerConfig), // - make_unique>(Id, "barrier-close-events", 0, UINT16_MAX, Attributes::BarrierCloseEvents::Id, - credsIssuerConfig), // - make_unique>(Id, "barrier-command-open-events", 0, UINT16_MAX, - Attributes::BarrierCommandOpenEvents::Id, credsIssuerConfig), // - make_unique>(Id, "barrier-command-close-events", 0, UINT16_MAX, - Attributes::BarrierCommandCloseEvents::Id, credsIssuerConfig), // - make_unique>(Id, "barrier-open-period", 0, UINT16_MAX, Attributes::BarrierOpenPeriod::Id, - credsIssuerConfig), // - make_unique>(Id, "barrier-close-period", 0, UINT16_MAX, Attributes::BarrierClosePeriod::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-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, + make_unique>>( + Id, "acl", Attributes::Acl::Id, credsIssuerConfig), // + make_unique>>( + Id, "extension", Attributes::Extension::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "acl", Attributes::Acl::Id, credsIssuerConfig), // + make_unique(Id, "extension", Attributes::Extension::Id, credsIssuerConfig), // + make_unique(Id, "subjects-per-access-control-entry", Attributes::SubjectsPerAccessControlEntry::Id, credsIssuerConfig), // - make_unique(Id, "barrier-command-close-events", Attributes::BarrierCommandCloseEvents::Id, + make_unique(Id, "targets-per-access-control-entry", Attributes::TargetsPerAccessControlEntry::Id, + credsIssuerConfig), // + make_unique(Id, "access-control-entries-per-fabric", Attributes::AccessControlEntriesPerFabric::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -13191,90 +8658,59 @@ void registerClusterBarrierControl(Commands & commands, CredentialIssuerCommands // // Events // - make_unique(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), // 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 registerClusterPumpConfigurationAndControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterBridgedActions(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::PumpConfigurationAndControl; + using namespace chip::app::Clusters::BridgedActions; - const char * clusterName = "PumpConfigurationAndControl"; + const char * clusterName = "BridgedActions"; 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), // // // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "lifetime-running-hours", 0, UINT32_MAX, Attributes::LifetimeRunningHours::Id, credsIssuerConfig), // - make_unique>>( - Id, "lifetime-energy-consumed", 0, UINT32_MAX, Attributes::LifetimeEnergyConsumed::Id, credsIssuerConfig), // - make_unique>( - Id, "operation-mode", 0, UINT8_MAX, Attributes::OperationMode::Id, credsIssuerConfig), // - make_unique>( - Id, "control-mode", 0, UINT8_MAX, Attributes::ControlMode::Id, 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, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -13283,254 +8719,130 @@ void registerClusterPumpConfigurationAndControl(Commands & commands, CredentialI // // 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), // + 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, "capability-minima", Attributes::CapabilityMinima::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "node-label", Attributes::NodeLabel::Id, credsIssuerConfig), // + make_unique>(Id, "location", Attributes::Location::Id, credsIssuerConfig), // + make_unique>(Id, "local-config-disabled", 0, 1, Attributes::LocalConfigDisabled::Id, + 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, "capability-minima", Attributes::CapabilityMinima::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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 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), // - // - // 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, "picooling-demand", Attributes::PICoolingDemand::Id, credsIssuerConfig), // - make_unique(Id, "piheating-demand", Attributes::PIHeatingDemand::Id, credsIssuerConfig), // - make_unique(Id, "hvacsystem-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, "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, "occupied-setback", Attributes::OccupiedSetback::Id, credsIssuerConfig), // - make_unique(Id, "occupied-setback-min", Attributes::OccupiedSetbackMin::Id, credsIssuerConfig), // - make_unique(Id, "occupied-setback-max", Attributes::OccupiedSetbackMax::Id, credsIssuerConfig), // - make_unique(Id, "unoccupied-setback", Attributes::UnoccupiedSetback::Id, credsIssuerConfig), // - make_unique(Id, "unoccupied-setback-min", Attributes::UnoccupiedSetbackMin::Id, credsIssuerConfig), // - make_unique(Id, "unoccupied-setback-max", Attributes::UnoccupiedSetbackMax::Id, credsIssuerConfig), // - make_unique(Id, "emergency-heat-delta", Attributes::EmergencyHeatDelta::Id, credsIssuerConfig), // - make_unique(Id, "actype", Attributes::ACType::Id, credsIssuerConfig), // - make_unique(Id, "accapacity", Attributes::ACCapacity::Id, credsIssuerConfig), // - make_unique(Id, "acrefrigerant-type", Attributes::ACRefrigerantType::Id, credsIssuerConfig), // - make_unique(Id, "accompressor-type", Attributes::ACCompressorType::Id, credsIssuerConfig), // - make_unique(Id, "acerror-code", Attributes::ACErrorCode::Id, credsIssuerConfig), // - make_unique(Id, "aclouver-position", Attributes::ACLouverPosition::Id, credsIssuerConfig), // - make_unique(Id, "accoil-temperature", Attributes::ACCoilTemperature::Id, credsIssuerConfig), // - make_unique(Id, "accapacityformat", Attributes::ACCapacityformat::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "hvacsystem-type-configuration", 0, UINT8_MAX, - Attributes::HVACSystemTypeConfiguration::Id, credsIssuerConfig), // - make_unique>(Id, "local-temperature-calibration", INT8_MIN, INT8_MAX, - Attributes::LocalTemperatureCalibration::Id, credsIssuerConfig), // - make_unique>(Id, "occupied-cooling-setpoint", INT16_MIN, INT16_MAX, - Attributes::OccupiedCoolingSetpoint::Id, credsIssuerConfig), // - make_unique>(Id, "occupied-heating-setpoint", INT16_MIN, INT16_MAX, - Attributes::OccupiedHeatingSetpoint::Id, credsIssuerConfig), // - make_unique>(Id, "unoccupied-cooling-setpoint", INT16_MIN, INT16_MAX, - Attributes::UnoccupiedCoolingSetpoint::Id, credsIssuerConfig), // - make_unique>(Id, "unoccupied-heating-setpoint", INT16_MIN, INT16_MAX, - Attributes::UnoccupiedHeatingSetpoint::Id, credsIssuerConfig), // - make_unique>(Id, "min-heat-setpoint-limit", INT16_MIN, INT16_MAX, - Attributes::MinHeatSetpointLimit::Id, credsIssuerConfig), // - make_unique>(Id, "max-heat-setpoint-limit", INT16_MIN, INT16_MAX, - Attributes::MaxHeatSetpointLimit::Id, credsIssuerConfig), // - make_unique>(Id, "min-cool-setpoint-limit", INT16_MIN, INT16_MAX, - Attributes::MinCoolSetpointLimit::Id, credsIssuerConfig), // - make_unique>(Id, "max-cool-setpoint-limit", INT16_MIN, INT16_MAX, - Attributes::MaxCoolSetpointLimit::Id, credsIssuerConfig), // - make_unique>(Id, "min-setpoint-dead-band", INT8_MIN, INT8_MAX, Attributes::MinSetpointDeadBand::Id, - credsIssuerConfig), // - make_unique>(Id, "remote-sensing", 0, UINT8_MAX, Attributes::RemoteSensing::Id, - credsIssuerConfig), // - make_unique>( - Id, "control-sequence-of-operation", 0, UINT8_MAX, Attributes::ControlSequenceOfOperation::Id, credsIssuerConfig), // - make_unique>(Id, "system-mode", 0, UINT8_MAX, Attributes::SystemMode::Id, credsIssuerConfig), // - make_unique>(Id, "temperature-setpoint-hold", 0, UINT8_MAX, Attributes::TemperatureSetpointHold::Id, - credsIssuerConfig), // - make_unique>>( - Id, "temperature-setpoint-hold-duration", 0, UINT16_MAX, Attributes::TemperatureSetpointHoldDuration::Id, - credsIssuerConfig), // - make_unique>(Id, "thermostat-programming-operation-mode", 0, UINT8_MAX, - Attributes::ThermostatProgrammingOperationMode::Id, credsIssuerConfig), // - make_unique>>(Id, "occupied-setback", 0, UINT8_MAX, - Attributes::OccupiedSetback::Id, credsIssuerConfig), // - make_unique>>( - Id, "unoccupied-setback", 0, UINT8_MAX, Attributes::UnoccupiedSetback::Id, credsIssuerConfig), // - make_unique>(Id, "emergency-heat-delta", 0, UINT8_MAX, Attributes::EmergencyHeatDelta::Id, - credsIssuerConfig), // - make_unique>(Id, "actype", 0, UINT8_MAX, Attributes::ACType::Id, credsIssuerConfig), // - make_unique>(Id, "accapacity", 0, UINT16_MAX, Attributes::ACCapacity::Id, credsIssuerConfig), // - make_unique>(Id, "acrefrigerant-type", 0, UINT8_MAX, Attributes::ACRefrigerantType::Id, - credsIssuerConfig), // - make_unique>(Id, "accompressor-type", 0, UINT8_MAX, Attributes::ACCompressorType::Id, - credsIssuerConfig), // - make_unique>(Id, "acerror-code", 0, UINT32_MAX, Attributes::ACErrorCode::Id, credsIssuerConfig), // - make_unique>(Id, "aclouver-position", 0, UINT8_MAX, Attributes::ACLouverPosition::Id, - credsIssuerConfig), // - make_unique>(Id, "accapacityformat", 0, UINT8_MAX, Attributes::ACCapacityformat::Id, - 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, "picooling-demand", Attributes::PICoolingDemand::Id, credsIssuerConfig), // - make_unique(Id, "piheating-demand", Attributes::PIHeatingDemand::Id, credsIssuerConfig), // - make_unique(Id, "hvacsystem-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, "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, "occupied-setback", Attributes::OccupiedSetback::Id, credsIssuerConfig), // - make_unique(Id, "occupied-setback-min", Attributes::OccupiedSetbackMin::Id, credsIssuerConfig), // - make_unique(Id, "occupied-setback-max", Attributes::OccupiedSetbackMax::Id, credsIssuerConfig), // - make_unique(Id, "unoccupied-setback", Attributes::UnoccupiedSetback::Id, credsIssuerConfig), // - make_unique(Id, "unoccupied-setback-min", Attributes::UnoccupiedSetbackMin::Id, credsIssuerConfig), // - make_unique(Id, "unoccupied-setback-max", Attributes::UnoccupiedSetbackMax::Id, credsIssuerConfig), // - make_unique(Id, "emergency-heat-delta", Attributes::EmergencyHeatDelta::Id, credsIssuerConfig), // - make_unique(Id, "actype", Attributes::ACType::Id, credsIssuerConfig), // - make_unique(Id, "accapacity", Attributes::ACCapacity::Id, credsIssuerConfig), // - make_unique(Id, "acrefrigerant-type", Attributes::ACRefrigerantType::Id, credsIssuerConfig), // - make_unique(Id, "accompressor-type", Attributes::ACCompressorType::Id, credsIssuerConfig), // - make_unique(Id, "acerror-code", Attributes::ACErrorCode::Id, credsIssuerConfig), // - make_unique(Id, "aclouver-position", Attributes::ACLouverPosition::Id, credsIssuerConfig), // - make_unique(Id, "accoil-temperature", Attributes::ACCoilTemperature::Id, credsIssuerConfig), // - make_unique(Id, "accapacityformat", Attributes::ACCapacityformat::Id, credsIssuerConfig), // +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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -13545,60 +8857,40 @@ void registerClusterThermostat(Commands & commands, CredentialIssuerCommands * c commands.Register(clusterName, clusterCommands); } -void registerClusterFanControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterOtaSoftwareUpdateRequestor(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::FanControl; + using namespace chip::app::Clusters::OtaSoftwareUpdateRequestor; - const char * clusterName = "FanControl"; + const char * clusterName = "OtaSoftwareUpdateRequestor"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(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, "percent-setting", Attributes::PercentSetting::Id, credsIssuerConfig), // - make_unique(Id, "percent-current", Attributes::PercentCurrent::Id, credsIssuerConfig), // - make_unique(Id, "speed-max", Attributes::SpeedMax::Id, credsIssuerConfig), // - make_unique(Id, "speed-setting", Attributes::SpeedSetting::Id, credsIssuerConfig), // - make_unique(Id, "speed-current", Attributes::SpeedCurrent::Id, credsIssuerConfig), // - make_unique(Id, "rock-support", Attributes::RockSupport::Id, credsIssuerConfig), // - make_unique(Id, "rock-setting", Attributes::RockSetting::Id, credsIssuerConfig), // - make_unique(Id, "wind-support", Attributes::WindSupport::Id, credsIssuerConfig), // - make_unique(Id, "wind-setting", Attributes::WindSetting::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "fan-mode", 0, UINT8_MAX, - Attributes::FanMode::Id, credsIssuerConfig), // - make_unique>( - Id, "fan-mode-sequence", 0, UINT8_MAX, Attributes::FanModeSequence::Id, credsIssuerConfig), // - make_unique>>(Id, "percent-setting", 0, UINT8_MAX, - Attributes::PercentSetting::Id, credsIssuerConfig), // - make_unique>>(Id, "speed-setting", 0, UINT8_MAX, - Attributes::SpeedSetting::Id, credsIssuerConfig), // - make_unique>(Id, "rock-setting", 0, UINT8_MAX, Attributes::RockSetting::Id, credsIssuerConfig), // - make_unique>(Id, "wind-setting", 0, UINT8_MAX, Attributes::WindSetting::Id, credsIssuerConfig), // + make_unique>>( + Id, "default-ota-providers", Attributes::DefaultOtaProviders::Id, 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, "percent-setting", Attributes::PercentSetting::Id, credsIssuerConfig), // - make_unique(Id, "percent-current", Attributes::PercentCurrent::Id, credsIssuerConfig), // - make_unique(Id, "speed-max", Attributes::SpeedMax::Id, credsIssuerConfig), // - make_unique(Id, "speed-setting", Attributes::SpeedSetting::Id, credsIssuerConfig), // - make_unique(Id, "speed-current", Attributes::SpeedCurrent::Id, credsIssuerConfig), // - make_unique(Id, "rock-support", Attributes::RockSupport::Id, credsIssuerConfig), // - make_unique(Id, "rock-setting", Attributes::RockSetting::Id, credsIssuerConfig), // - make_unique(Id, "wind-support", Attributes::WindSupport::Id, credsIssuerConfig), // - make_unique(Id, "wind-setting", Attributes::WindSetting::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -13607,17 +8899,23 @@ void registerClusterFanControl(Commands & commands, CredentialIssuerCommands * c // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(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), // + 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 registerClusterDehumidificationControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterLocalizationConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::DehumidificationControl; + using namespace chip::app::Clusters::LocalizationConfiguration; - const char * clusterName = "DehumidificationControl"; + const char * clusterName = "LocalizationConfiguration"; commands_list clusterCommands = { // @@ -13628,49 +8926,18 @@ void registerClusterDehumidificationControl(Commands & commands, CredentialIssue // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "rh-dehumidification-setpoint", 0, UINT8_MAX, - Attributes::RhDehumidificationSetpoint::Id, credsIssuerConfig), // - make_unique>(Id, "relative-humidity-mode", 0, UINT8_MAX, Attributes::RelativeHumidityMode::Id, - credsIssuerConfig), // - make_unique>(Id, "dehumidification-lockout", 0, UINT8_MAX, Attributes::DehumidificationLockout::Id, - credsIssuerConfig), // - make_unique>(Id, "dehumidification-hysteresis", 0, UINT8_MAX, - Attributes::DehumidificationHysteresis::Id, credsIssuerConfig), // - make_unique>(Id, "dehumidification-max-cool", 0, UINT8_MAX, Attributes::DehumidificationMaxCool::Id, - credsIssuerConfig), // - make_unique>(Id, "relative-humidity-display", 0, UINT8_MAX, Attributes::RelativeHumidityDisplay::Id, - 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, "active-locale", Attributes::ActiveLocale::Id, credsIssuerConfig), // + make_unique(Id, "supported-locales", Attributes::SupportedLocales::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "active-locale", Attributes::ActiveLocale::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -13685,11 +8952,11 @@ void registerClusterDehumidificationControl(Commands & commands, CredentialIssue commands.Register(clusterName, clusterCommands); } -void registerClusterThermostatUserInterfaceConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterTimeFormatLocalization(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::ThermostatUserInterfaceConfiguration; + using namespace chip::app::Clusters::TimeFormatLocalization; - const char * clusterName = "ThermostatUserInterfaceConfiguration"; + const char * clusterName = "TimeFormatLocalization"; commands_list clusterCommands = { // @@ -13700,27 +8967,23 @@ void registerClusterThermostatUserInterfaceConfiguration(Commands & commands, Cr // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "temperature-display-mode", 0, UINT8_MAX, Attributes::TemperatureDisplayMode::Id, - credsIssuerConfig), // - make_unique>(Id, "keypad-lockout", 0, UINT8_MAX, Attributes::KeypadLockout::Id, - credsIssuerConfig), // - make_unique>(Id, "schedule-programming-visibility", 0, UINT8_MAX, - Attributes::ScheduleProgrammingVisibility::Id, 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, + 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "hour-format", 0, UINT8_MAX, Attributes::HourFormat::Id, credsIssuerConfig), // + make_unique>( + Id, "active-calendar-type", 0, UINT8_MAX, Attributes::ActiveCalendarType::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // @@ -13734,190 +8997,34 @@ void registerClusterThermostatUserInterfaceConfiguration(Commands & commands, Cr 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, "options", Attributes::Options::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-mireds", Attributes::ColorTempPhysicalMinMireds::Id, - credsIssuerConfig), // - make_unique(Id, "color-temp-physical-max-mireds", Attributes::ColorTempPhysicalMaxMireds::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), // + 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "options", 0, UINT8_MAX, Attributes::Options::Id, credsIssuerConfig), // - make_unique>(Id, "white-point-x", 0, UINT16_MAX, Attributes::WhitePointX::Id, - credsIssuerConfig), // - make_unique>(Id, "white-point-y", 0, UINT16_MAX, Attributes::WhitePointY::Id, - credsIssuerConfig), // - make_unique>(Id, "color-point-rx", 0, UINT16_MAX, Attributes::ColorPointRX::Id, - credsIssuerConfig), // - make_unique>(Id, "color-point-ry", 0, UINT16_MAX, Attributes::ColorPointRY::Id, - credsIssuerConfig), // - make_unique>>( - Id, "color-point-rintensity", 0, UINT8_MAX, Attributes::ColorPointRIntensity::Id, credsIssuerConfig), // - make_unique>(Id, "color-point-gx", 0, UINT16_MAX, Attributes::ColorPointGX::Id, - credsIssuerConfig), // - make_unique>(Id, "color-point-gy", 0, UINT16_MAX, Attributes::ColorPointGY::Id, - credsIssuerConfig), // - make_unique>>( - Id, "color-point-gintensity", 0, UINT8_MAX, Attributes::ColorPointGIntensity::Id, credsIssuerConfig), // - make_unique>(Id, "color-point-bx", 0, UINT16_MAX, Attributes::ColorPointBX::Id, - credsIssuerConfig), // - make_unique>(Id, "color-point-by", 0, UINT16_MAX, Attributes::ColorPointBY::Id, - credsIssuerConfig), // - make_unique>>( - Id, "color-point-bintensity", 0, UINT8_MAX, Attributes::ColorPointBIntensity::Id, credsIssuerConfig), // - make_unique>(Id, "start-up-color-temperature-mireds", 0, UINT16_MAX, - Attributes::StartUpColorTemperatureMireds::Id, credsIssuerConfig), // + make_unique>( + Id, "temperature-unit", 0, UINT8_MAX, Attributes::TemperatureUnit::Id, 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, "options", Attributes::Options::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-mireds", Attributes::ColorTempPhysicalMinMireds::Id, - credsIssuerConfig), // - make_unique(Id, "color-temp-physical-max-mireds", Attributes::ColorTempPhysicalMaxMireds::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, "temperature-unit", Attributes::TemperatureUnit::Id, credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -13932,11 +9039,11 @@ void registerClusterColorControl(Commands & commands, CredentialIssuerCommands * commands.Register(clusterName, clusterCommands); } -void registerClusterBallastConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterPowerSourceConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::BallastConfiguration; + using namespace chip::app::Clusters::PowerSourceConfiguration; - const char * clusterName = "BallastConfiguration"; + const char * clusterName = "PowerSourceConfiguration"; commands_list clusterCommands = { // @@ -13946,61 +9053,122 @@ void registerClusterBallastConfiguration(Commands & commands, CredentialIssuerCo // // 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, "intrinsic-balance-factor", Attributes::IntrinsicBalanceFactor::Id, credsIssuerConfig), // - make_unique(Id, "ballast-factor-adjustment", Attributes::BallastFactorAdjustment::Id, credsIssuerConfig), // - make_unique(Id, "lamp-quantity", Attributes::LampQuantity::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "min-level", 0, UINT8_MAX, Attributes::MinLevel::Id, credsIssuerConfig), // - make_unique>(Id, "max-level", 0, UINT8_MAX, Attributes::MaxLevel::Id, credsIssuerConfig), // - make_unique>>( - Id, "intrinsic-balance-factor", 0, UINT8_MAX, Attributes::IntrinsicBalanceFactor::Id, credsIssuerConfig), // - make_unique>>( - Id, "ballast-factor-adjustment", 0, UINT8_MAX, Attributes::BallastFactorAdjustment::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", 0, UINT32_MAX, - Attributes::LampRatedHours::Id, credsIssuerConfig), // - make_unique>>(Id, "lamp-burn-hours", 0, UINT32_MAX, - Attributes::LampBurnHours::Id, credsIssuerConfig), // - make_unique>(Id, "lamp-alarm-mode", 0, UINT8_MAX, Attributes::LampAlarmMode::Id, - credsIssuerConfig), // - make_unique>>( - Id, "lamp-burn-hours-trip-point", 0, UINT32_MAX, Attributes::LampBurnHoursTripPoint::Id, 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, "intrinsic-balance-factor", Attributes::IntrinsicBalanceFactor::Id, + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "sources", Attributes::Sources::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "bat-voltage", Attributes::BatVoltage::Id, credsIssuerConfig), // + make_unique(Id, "bat-percent-remaining", Attributes::BatPercentRemaining::Id, credsIssuerConfig), // + make_unique(Id, "bat-time-remaining", Attributes::BatTimeRemaining::Id, credsIssuerConfig), // + make_unique(Id, "bat-charge-level", Attributes::BatChargeLevel::Id, credsIssuerConfig), // + make_unique(Id, "bat-replacement-needed", Attributes::BatReplacementNeeded::Id, credsIssuerConfig), // + make_unique(Id, "bat-replaceability", Attributes::BatReplaceability::Id, credsIssuerConfig), // + make_unique(Id, "bat-present", Attributes::BatPresent::Id, credsIssuerConfig), // + make_unique(Id, "active-bat-faults", Attributes::ActiveBatFaults::Id, credsIssuerConfig), // + make_unique(Id, "bat-replacement-description", Attributes::BatReplacementDescription::Id, + credsIssuerConfig), // + make_unique(Id, "bat-common-designation", Attributes::BatCommonDesignation::Id, credsIssuerConfig), // + make_unique(Id, "bat-ansidesignation", Attributes::BatANSIDesignation::Id, credsIssuerConfig), // + make_unique(Id, "bat-iecdesignation", Attributes::BatIECDesignation::Id, credsIssuerConfig), // + make_unique(Id, "bat-approved-chemistry", Attributes::BatApprovedChemistry::Id, credsIssuerConfig), // + make_unique(Id, "bat-capacity", Attributes::BatCapacity::Id, credsIssuerConfig), // + make_unique(Id, "bat-quantity", Attributes::BatQuantity::Id, credsIssuerConfig), // + make_unique(Id, "bat-charge-state", Attributes::BatChargeState::Id, credsIssuerConfig), // + make_unique(Id, "bat-time-to-full-charge", Attributes::BatTimeToFullCharge::Id, credsIssuerConfig), // + make_unique(Id, "bat-functional-while-charging", Attributes::BatFunctionalWhileCharging::Id, + credsIssuerConfig), // + make_unique(Id, "bat-charging-current", Attributes::BatChargingCurrent::Id, credsIssuerConfig), // + make_unique(Id, "active-bat-charge-faults", Attributes::ActiveBatChargeFaults::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "ballast-factor-adjustment", Attributes::BallastFactorAdjustment::Id, - credsIssuerConfig), // - make_unique(Id, "lamp-quantity", Attributes::LampQuantity::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, + 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, "bat-voltage", Attributes::BatVoltage::Id, credsIssuerConfig), // + make_unique(Id, "bat-percent-remaining", Attributes::BatPercentRemaining::Id, credsIssuerConfig), // + make_unique(Id, "bat-time-remaining", Attributes::BatTimeRemaining::Id, credsIssuerConfig), // + make_unique(Id, "bat-charge-level", Attributes::BatChargeLevel::Id, credsIssuerConfig), // + make_unique(Id, "bat-replacement-needed", Attributes::BatReplacementNeeded::Id, credsIssuerConfig), // + make_unique(Id, "bat-replaceability", Attributes::BatReplaceability::Id, credsIssuerConfig), // + make_unique(Id, "bat-present", Attributes::BatPresent::Id, credsIssuerConfig), // + make_unique(Id, "active-bat-faults", Attributes::ActiveBatFaults::Id, credsIssuerConfig), // + make_unique(Id, "bat-replacement-description", Attributes::BatReplacementDescription::Id, + credsIssuerConfig), // + make_unique(Id, "bat-common-designation", Attributes::BatCommonDesignation::Id, credsIssuerConfig), // + make_unique(Id, "bat-ansidesignation", Attributes::BatANSIDesignation::Id, credsIssuerConfig), // + make_unique(Id, "bat-iecdesignation", Attributes::BatIECDesignation::Id, credsIssuerConfig), // + make_unique(Id, "bat-approved-chemistry", Attributes::BatApprovedChemistry::Id, credsIssuerConfig), // + make_unique(Id, "bat-capacity", Attributes::BatCapacity::Id, credsIssuerConfig), // + make_unique(Id, "bat-quantity", Attributes::BatQuantity::Id, credsIssuerConfig), // + make_unique(Id, "bat-charge-state", Attributes::BatChargeState::Id, credsIssuerConfig), // + make_unique(Id, "bat-time-to-full-charge", Attributes::BatTimeToFullCharge::Id, credsIssuerConfig), // + make_unique(Id, "bat-functional-while-charging", Attributes::BatFunctionalWhileCharging::Id, + credsIssuerConfig), // + make_unique(Id, "bat-charging-current", Attributes::BatChargingCurrent::Id, credsIssuerConfig), // + make_unique(Id, "active-bat-charge-faults", Attributes::ActiveBatChargeFaults::Id, credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // @@ -14016,38 +9184,45 @@ void registerClusterBallastConfiguration(Commands & commands, CredentialIssuerCo commands.Register(clusterName, clusterCommands); } -void registerClusterIlluminanceMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterGeneralCommissioning(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::IlluminanceMeasurement; + using namespace chip::app::Clusters::GeneralCommissioning; - const char * clusterName = "IlluminanceMeasurement"; + const char * clusterName = "GeneralCommissioning"; 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, "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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, 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, "supports-concurrent-connection", Attributes::SupportsConcurrentConnection::Id, + credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "breadcrumb", 0, UINT64_MAX, Attributes::Breadcrumb::Id, 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, "supports-concurrent-connection", Attributes::SupportsConcurrentConnection::Id, + credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14062,36 +9237,53 @@ void registerClusterIlluminanceMeasurement(Commands & commands, CredentialIssuer commands.Register(clusterName, clusterCommands); } -void registerClusterTemperatureMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterNetworkCommissioning(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::TemperatureMeasurement; + using namespace chip::app::Clusters::NetworkCommissioning; - const char * clusterName = "TemperatureMeasurement"; + const char * clusterName = "NetworkCommissioning"; 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), // // // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "interface-enabled", 0, 1, Attributes::InterfaceEnabled::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14106,30 +9298,22 @@ void registerClusterTemperatureMeasurement(Commands & commands, CredentialIssuer commands.Register(clusterName, clusterCommands); } -void registerClusterPressureMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterDiagnosticLogs(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::PressureMeasurement; + using namespace chip::app::Clusters::DiagnosticLogs; - const char * clusterName = "PressureMeasurement"; + const char * clusterName = "DiagnosticLogs"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14137,15 +9321,6 @@ void registerClusterPressureMeasurement(Commands & commands, CredentialIssuerCom 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14160,36 +9335,49 @@ void registerClusterPressureMeasurement(Commands & commands, CredentialIssuerCom commands.Register(clusterName, clusterCommands); } -void registerClusterFlowMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterGeneralDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::FlowMeasurement; + using namespace chip::app::Clusters::GeneralDiagnostics; - const char * clusterName = "FlowMeasurement"; + const char * clusterName = "GeneralDiagnostics"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, 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, "test-event-triggers-enabled", Attributes::TestEventTriggersEnabled::Id, + credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "test-event-triggers-enabled", Attributes::TestEventTriggersEnabled::Id, + credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14198,42 +9386,53 @@ void registerClusterFlowMeasurement(Commands & commands, CredentialIssuerCommand // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(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), // + 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 registerClusterRelativeHumidityMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterSoftwareDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::RelativeHumidityMeasurement; + using namespace chip::app::Clusters::SoftwareDiagnostics; - const char * clusterName = "RelativeHumidityMeasurement"; + const char * clusterName = "SoftwareDiagnostics"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14242,96 +9441,182 @@ void registerClusterRelativeHumidityMeasurement(Commands & commands, CredentialI // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // + 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 registerClusterOccupancySensing(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterThreadNetworkDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::OccupancySensing; + using namespace chip::app::Clusters::ThreadNetworkDiagnostics; - const char * clusterName = "OccupancySensing"; + const char * clusterName = "ThreadNetworkDiagnostics"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(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, + 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, "pir-unoccupied-to-occupied-threshold", Attributes::PirUnoccupiedToOccupiedThreshold::Id, + 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, "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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "pir-occupied-to-unoccupied-delay", 0, UINT16_MAX, - Attributes::PirOccupiedToUnoccupiedDelay::Id, credsIssuerConfig), // - make_unique>(Id, "pir-unoccupied-to-occupied-delay", 0, UINT16_MAX, - Attributes::PirUnoccupiedToOccupiedDelay::Id, credsIssuerConfig), // - make_unique>(Id, "pir-unoccupied-to-occupied-threshold", 0, UINT8_MAX, - Attributes::PirUnoccupiedToOccupiedThreshold::Id, credsIssuerConfig), // - make_unique>(Id, "ultrasonic-occupied-to-unoccupied-delay", 0, UINT16_MAX, - Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id, credsIssuerConfig), // - make_unique>(Id, "ultrasonic-unoccupied-to-occupied-delay", 0, UINT16_MAX, - Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id, credsIssuerConfig), // - make_unique>(Id, "ultrasonic-unoccupied-to-occupied-threshold", 0, UINT8_MAX, - Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id, credsIssuerConfig), // - make_unique>(Id, "physical-contact-occupied-to-unoccupied-delay", 0, UINT16_MAX, - Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id, credsIssuerConfig), // - make_unique>(Id, "physical-contact-unoccupied-to-occupied-delay", 0, UINT16_MAX, - Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id, credsIssuerConfig), // - make_unique>(Id, "physical-contact-unoccupied-to-occupied-threshold", 0, UINT8_MAX, - Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::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, + 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "pir-occupied-to-unoccupied-delay", Attributes::PirOccupiedToUnoccupiedDelay::Id, + 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, "pir-unoccupied-to-occupied-delay", Attributes::PirUnoccupiedToOccupiedDelay::Id, + 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, "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, "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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14340,31 +9625,43 @@ void registerClusterOccupancySensing(Commands & commands, CredentialIssuerComman // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // + 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 registerClusterCarbonMonoxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterWiFiNetworkDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::CarbonMonoxideConcentrationMeasurement; + using namespace chip::app::Clusters::WiFiNetworkDiagnostics; - const char * clusterName = "CarbonMonoxideConcentrationMeasurement"; + const char * clusterName = "WiFiNetworkDiagnostics"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(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, "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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14372,43 +9669,66 @@ void registerClusterCarbonMonoxideConcentrationMeasurement(Commands & commands, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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), // + 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 registerClusterCarbonDioxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterEthernetNetworkDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::CarbonDioxideConcentrationMeasurement; + using namespace chip::app::Clusters::EthernetNetworkDiagnostics; - const char * clusterName = "CarbonDioxideConcentrationMeasurement"; + const char * clusterName = "EthernetNetworkDiagnostics"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(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, "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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14416,10 +9736,15 @@ void registerClusterCarbonDioxideConcentrationMeasurement(Commands & commands, C 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, "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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14434,11 +9759,11 @@ void registerClusterCarbonDioxideConcentrationMeasurement(Commands & commands, C commands.Register(clusterName, clusterCommands); } -void registerClusterEthyleneConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterTimeSynchronization(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::EthyleneConcentrationMeasurement; + using namespace chip::app::Clusters::TimeSynchronization; - const char * clusterName = "EthyleneConcentrationMeasurement"; + const char * clusterName = "TimeSynchronization"; commands_list clusterCommands = { // @@ -14449,10 +9774,6 @@ void registerClusterEthyleneConcentrationMeasurement(Commands & commands, Creden // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14460,10 +9781,6 @@ void registerClusterEthyleneConcentrationMeasurement(Commands & commands, Creden 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14478,11 +9795,11 @@ void registerClusterEthyleneConcentrationMeasurement(Commands & commands, Creden commands.Register(clusterName, clusterCommands); } -void registerClusterEthyleneOxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterBridgedDeviceBasic(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::EthyleneOxideConcentrationMeasurement; + using namespace chip::app::Clusters::BridgedDeviceBasic; - const char * clusterName = "EthyleneOxideConcentrationMeasurement"; + const char * clusterName = "BridgedDeviceBasic"; commands_list clusterCommands = { // @@ -14492,41 +9809,72 @@ void registerClusterEthyleneOxideConcentrationMeasurement(Commands & commands, C // // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "node-label", Attributes::NodeLabel::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, "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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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), // + 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 registerClusterHydrogenConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterSwitch(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::HydrogenConcentrationMeasurement; + using namespace chip::app::Clusters::Switch; - const char * clusterName = "HydrogenConcentrationMeasurement"; + const char * clusterName = "Switch"; commands_list clusterCommands = { // @@ -14537,10 +9885,9 @@ void registerClusterHydrogenConcentrationMeasurement(Commands & commands, Creden // 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, "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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14548,10 +9895,9 @@ void registerClusterHydrogenConcentrationMeasurement(Commands & commands, Creden 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, "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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14560,31 +9906,47 @@ void registerClusterHydrogenConcentrationMeasurement(Commands & commands, Creden // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(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), // + 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 registerClusterHydrogenSulphideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterAdministratorCommissioning(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::HydrogenSulphideConcentrationMeasurement; + using namespace chip::app::Clusters::AdministratorCommissioning; - const char * clusterName = "HydrogenSulphideConcentrationMeasurement"; + const char * clusterName = "AdministratorCommissioning"; 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, "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, "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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14592,10 +9954,9 @@ void registerClusterHydrogenSulphideConcentrationMeasurement(Commands & commands 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, "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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14610,36 +9971,49 @@ void registerClusterHydrogenSulphideConcentrationMeasurement(Commands & commands commands.Register(clusterName, clusterCommands); } -void registerClusterNitricOxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterOperationalCredentials(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::NitricOxideConcentrationMeasurement; + using namespace chip::app::Clusters::OperationalCredentials; - const char * clusterName = "NitricOxideConcentrationMeasurement"; + const char * clusterName = "OperationalCredentials"; 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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), // + // + // 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, "nocs", Attributes::NOCs::Id, credsIssuerConfig), // + make_unique(Id, "fabrics", Attributes::Fabrics::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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", Attributes::Fabrics::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14654,36 +10028,44 @@ void registerClusterNitricOxideConcentrationMeasurement(Commands & commands, Cre commands.Register(clusterName, clusterCommands); } -void registerClusterNitrogenDioxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterGroupKeyManagement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::NitrogenDioxideConcentrationMeasurement; + using namespace chip::app::Clusters::GroupKeyManagement; - const char * clusterName = "NitrogenDioxideConcentrationMeasurement"; + const char * clusterName = "GroupKeyManagement"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "group-key-map", Attributes::GroupKeyMap::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14698,11 +10080,11 @@ void registerClusterNitrogenDioxideConcentrationMeasurement(Commands & commands, commands.Register(clusterName, clusterCommands); } -void registerClusterOxygenConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterFixedLabel(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::OxygenConcentrationMeasurement; + using namespace chip::app::Clusters::FixedLabel; - const char * clusterName = "OxygenConcentrationMeasurement"; + const char * clusterName = "FixedLabel"; commands_list clusterCommands = { // @@ -14713,10 +10095,7 @@ void registerClusterOxygenConcentrationMeasurement(Commands & commands, Credenti // 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, "label-list", Attributes::LabelList::Id, credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14724,10 +10103,7 @@ void registerClusterOxygenConcentrationMeasurement(Commands & commands, Credenti 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, "label-list", Attributes::LabelList::Id, credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14742,11 +10118,11 @@ void registerClusterOxygenConcentrationMeasurement(Commands & commands, Credenti commands.Register(clusterName, clusterCommands); } -void registerClusterOzoneConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterUserLabel(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::OzoneConcentrationMeasurement; + using namespace chip::app::Clusters::UserLabel; - const char * clusterName = "OzoneConcentrationMeasurement"; + const char * clusterName = "UserLabel"; commands_list clusterCommands = { // @@ -14756,22 +10132,19 @@ void registerClusterOzoneConcentrationMeasurement(Commands & commands, Credentia // // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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< + WriteAttributeAsComplex>>( + Id, "label-list", Attributes::LabelList::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, "label-list", Attributes::LabelList::Id, credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14786,11 +10159,11 @@ void registerClusterOzoneConcentrationMeasurement(Commands & commands, Credentia commands.Register(clusterName, clusterCommands); } -void registerClusterSulfurDioxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterProxyConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::SulfurDioxideConcentrationMeasurement; + using namespace chip::app::Clusters::ProxyConfiguration; - const char * clusterName = "SulfurDioxideConcentrationMeasurement"; + const char * clusterName = "ProxyConfiguration"; commands_list clusterCommands = { // @@ -14801,10 +10174,6 @@ void registerClusterSulfurDioxideConcentrationMeasurement(Commands & commands, C // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14812,10 +10181,6 @@ void registerClusterSulfurDioxideConcentrationMeasurement(Commands & commands, C 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14830,11 +10195,11 @@ void registerClusterSulfurDioxideConcentrationMeasurement(Commands & commands, C commands.Register(clusterName, clusterCommands); } -void registerClusterDissolvedOxygenConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterProxyDiscovery(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::DissolvedOxygenConcentrationMeasurement; + using namespace chip::app::Clusters::ProxyDiscovery; - const char * clusterName = "DissolvedOxygenConcentrationMeasurement"; + const char * clusterName = "ProxyDiscovery"; commands_list clusterCommands = { // @@ -14845,10 +10210,6 @@ void registerClusterDissolvedOxygenConcentrationMeasurement(Commands & commands, // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14856,10 +10217,6 @@ void registerClusterDissolvedOxygenConcentrationMeasurement(Commands & commands, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14874,11 +10231,11 @@ void registerClusterDissolvedOxygenConcentrationMeasurement(Commands & commands, commands.Register(clusterName, clusterCommands); } -void registerClusterBromateConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterProxyValid(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::BromateConcentrationMeasurement; + using namespace chip::app::Clusters::ProxyValid; - const char * clusterName = "BromateConcentrationMeasurement"; + const char * clusterName = "ProxyValid"; commands_list clusterCommands = { // @@ -14889,10 +10246,6 @@ void registerClusterBromateConcentrationMeasurement(Commands & commands, Credent // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14900,10 +10253,6 @@ void registerClusterBromateConcentrationMeasurement(Commands & commands, Credent 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14918,11 +10267,11 @@ void registerClusterBromateConcentrationMeasurement(Commands & commands, Credent commands.Register(clusterName, clusterCommands); } -void registerClusterChloraminesConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterBooleanState(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::ChloraminesConcentrationMeasurement; + using namespace chip::app::Clusters::BooleanState; - const char * clusterName = "ChloraminesConcentrationMeasurement"; + const char * clusterName = "BooleanState"; commands_list clusterCommands = { // @@ -14933,10 +10282,7 @@ void registerClusterChloraminesConcentrationMeasurement(Commands & commands, Cre // 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, "state-value", Attributes::StateValue::Id, credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14944,10 +10290,7 @@ void registerClusterChloraminesConcentrationMeasurement(Commands & commands, Cre 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, "state-value", Attributes::StateValue::Id, credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -14956,42 +10299,53 @@ void registerClusterChloraminesConcentrationMeasurement(Commands & commands, Cre // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // + 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 registerClusterChlorineConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterModeSelect(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::ChlorineConcentrationMeasurement; + using namespace chip::app::Clusters::ModeSelect; - const char * clusterName = "ChlorineConcentrationMeasurement"; + const char * clusterName = "ModeSelect"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "description", Attributes::Description::Id, credsIssuerConfig), // + make_unique(Id, "standard-namespace", Attributes::StandardNamespace::Id, credsIssuerConfig), // + make_unique(Id, "supported-modes", Attributes::SupportedModes::Id, credsIssuerConfig), // + make_unique(Id, "current-mode", Attributes::CurrentMode::Id, credsIssuerConfig), // + make_unique(Id, "start-up-mode", Attributes::StartUpMode::Id, credsIssuerConfig), // + make_unique(Id, "on-mode", Attributes::OnMode::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "start-up-mode", 0, UINT8_MAX, + Attributes::StartUpMode::Id, credsIssuerConfig), // + make_unique>>(Id, "on-mode", 0, UINT8_MAX, Attributes::OnMode::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, "description", Attributes::Description::Id, credsIssuerConfig), // + make_unique(Id, "standard-namespace", Attributes::StandardNamespace::Id, credsIssuerConfig), // + make_unique(Id, "supported-modes", Attributes::SupportedModes::Id, credsIssuerConfig), // + make_unique(Id, "current-mode", Attributes::CurrentMode::Id, credsIssuerConfig), // + make_unique(Id, "start-up-mode", Attributes::StartUpMode::Id, credsIssuerConfig), // + make_unique(Id, "on-mode", Attributes::OnMode::Id, credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -15006,36 +10360,178 @@ void registerClusterChlorineConcentrationMeasurement(Commands & commands, Creden commands.Register(clusterName, clusterCommands); } -void registerClusterFecalColiformAndEColiConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterDoorLock(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::FecalColiformAndEColiConcentrationMeasurement; + using namespace chip::app::Clusters::DoorLock; - const char * clusterName = "FecalColiformAndEColiConcentrationMeasurement"; + const char * clusterName = "DoorLock"; 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + 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-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, "number-of-credentials-supported-per-user", + Attributes::NumberOfCredentialsSupportedPerUser::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "door-open-events", 0, UINT32_MAX, Attributes::DoorOpenEvents::Id, + credsIssuerConfig), // + make_unique>(Id, "door-closed-events", 0, UINT32_MAX, Attributes::DoorClosedEvents::Id, + credsIssuerConfig), // + make_unique>(Id, "open-period", 0, UINT16_MAX, Attributes::OpenPeriod::Id, credsIssuerConfig), // + make_unique>(Id, "language", Attributes::Language::Id, credsIssuerConfig), // + make_unique>(Id, "ledsettings", 0, UINT8_MAX, Attributes::LEDSettings::Id, credsIssuerConfig), // + make_unique>(Id, "auto-relock-time", 0, UINT32_MAX, Attributes::AutoRelockTime::Id, + credsIssuerConfig), // + make_unique>(Id, "sound-volume", 0, UINT8_MAX, Attributes::SoundVolume::Id, credsIssuerConfig), // + make_unique>( + Id, "operating-mode", 0, UINT8_MAX, Attributes::OperatingMode::Id, credsIssuerConfig), // + make_unique>(Id, "enable-local-programming", 0, 1, Attributes::EnableLocalProgramming::Id, + credsIssuerConfig), // + make_unique>(Id, "enable-one-touch-locking", 0, 1, Attributes::EnableOneTouchLocking::Id, + credsIssuerConfig), // + make_unique>(Id, "enable-inside-status-led", 0, 1, Attributes::EnableInsideStatusLED::Id, + credsIssuerConfig), // + make_unique>(Id, "enable-privacy-mode-button", 0, 1, Attributes::EnablePrivacyModeButton::Id, + credsIssuerConfig), // + make_unique>>( + Id, "local-programming-features", 0, UINT8_MAX, Attributes::LocalProgrammingFeatures::Id, credsIssuerConfig), // + make_unique>(Id, "wrong-code-entry-limit", 0, UINT8_MAX, Attributes::WrongCodeEntryLimit::Id, + credsIssuerConfig), // + make_unique>(Id, "user-code-temporary-disable-time", 0, UINT8_MAX, + Attributes::UserCodeTemporaryDisableTime::Id, credsIssuerConfig), // + make_unique>(Id, "send-pinover-the-air", 0, 1, Attributes::SendPINOverTheAir::Id, + credsIssuerConfig), // + make_unique>(Id, "require-pinfor-remote-operation", 0, 1, Attributes::RequirePINforRemoteOperation::Id, + credsIssuerConfig), // + make_unique>(Id, "expiring-user-timeout", 0, UINT16_MAX, Attributes::ExpiringUserTimeout::Id, + 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-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, "number-of-credentials-supported-per-user", + Attributes::NumberOfCredentialsSupportedPerUser::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -15044,42 +10540,119 @@ void registerClusterFecalColiformAndEColiConcentrationMeasurement(Commands & com // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(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), // + 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 registerClusterFluorideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterWindowCovering(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::FluorideConcentrationMeasurement; + using namespace chip::app::Clusters::WindowCovering; - const char * clusterName = "FluorideConcentrationMeasurement"; + const char * clusterName = "WindowCovering"; 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), // // // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "mode", 0, UINT8_MAX, Attributes::Mode::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -15094,36 +10667,66 @@ void registerClusterFluorideConcentrationMeasurement(Commands & commands, Creden commands.Register(clusterName, clusterCommands); } -void registerClusterHaloaceticAcidsConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterBarrierControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::HaloaceticAcidsConcentrationMeasurement; + using namespace chip::app::Clusters::BarrierControl; - const char * clusterName = "HaloaceticAcidsConcentrationMeasurement"; + const char * clusterName = "BarrierControl"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "barrier-open-events", 0, UINT16_MAX, Attributes::BarrierOpenEvents::Id, + credsIssuerConfig), // + make_unique>(Id, "barrier-close-events", 0, UINT16_MAX, Attributes::BarrierCloseEvents::Id, + credsIssuerConfig), // + make_unique>(Id, "barrier-command-open-events", 0, UINT16_MAX, + Attributes::BarrierCommandOpenEvents::Id, credsIssuerConfig), // + make_unique>(Id, "barrier-command-close-events", 0, UINT16_MAX, + Attributes::BarrierCommandCloseEvents::Id, credsIssuerConfig), // + make_unique>(Id, "barrier-open-period", 0, UINT16_MAX, Attributes::BarrierOpenPeriod::Id, + credsIssuerConfig), // + make_unique>(Id, "barrier-close-period", 0, UINT16_MAX, Attributes::BarrierClosePeriod::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-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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -15138,11 +10741,11 @@ void registerClusterHaloaceticAcidsConcentrationMeasurement(Commands & commands, commands.Register(clusterName, clusterCommands); } -void registerClusterTotalTrihalomethanesConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterPumpConfigurationAndControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::TotalTrihalomethanesConcentrationMeasurement; + using namespace chip::app::Clusters::PumpConfigurationAndControl; - const char * clusterName = "TotalTrihalomethanesConcentrationMeasurement"; + const char * clusterName = "PumpConfigurationAndControl"; commands_list clusterCommands = { // @@ -15152,22 +10755,70 @@ void registerClusterTotalTrihalomethanesConcentrationMeasurement(Commands & comm // // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "lifetime-running-hours", 0, UINT32_MAX, Attributes::LifetimeRunningHours::Id, credsIssuerConfig), // + make_unique>>( + Id, "lifetime-energy-consumed", 0, UINT32_MAX, Attributes::LifetimeEnergyConsumed::Id, credsIssuerConfig), // + make_unique>( + Id, "operation-mode", 0, UINT8_MAX, Attributes::OperationMode::Id, credsIssuerConfig), // + make_unique>( + Id, "control-mode", 0, UINT8_MAX, Attributes::ControlMode::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -15176,42 +10827,254 @@ void registerClusterTotalTrihalomethanesConcentrationMeasurement(Commands & comm // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(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), // + 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 registerClusterTotalColiformBacteriaConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterThermostat(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::TotalColiformBacteriaConcentrationMeasurement; + using namespace chip::app::Clusters::Thermostat; - const char * clusterName = "TotalColiformBacteriaConcentrationMeasurement"; + const char * clusterName = "Thermostat"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, 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, "picooling-demand", Attributes::PICoolingDemand::Id, credsIssuerConfig), // + make_unique(Id, "piheating-demand", Attributes::PIHeatingDemand::Id, credsIssuerConfig), // + make_unique(Id, "hvacsystem-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, "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, "occupied-setback", Attributes::OccupiedSetback::Id, credsIssuerConfig), // + make_unique(Id, "occupied-setback-min", Attributes::OccupiedSetbackMin::Id, credsIssuerConfig), // + make_unique(Id, "occupied-setback-max", Attributes::OccupiedSetbackMax::Id, credsIssuerConfig), // + make_unique(Id, "unoccupied-setback", Attributes::UnoccupiedSetback::Id, credsIssuerConfig), // + make_unique(Id, "unoccupied-setback-min", Attributes::UnoccupiedSetbackMin::Id, credsIssuerConfig), // + make_unique(Id, "unoccupied-setback-max", Attributes::UnoccupiedSetbackMax::Id, credsIssuerConfig), // + make_unique(Id, "emergency-heat-delta", Attributes::EmergencyHeatDelta::Id, credsIssuerConfig), // + make_unique(Id, "actype", Attributes::ACType::Id, credsIssuerConfig), // + make_unique(Id, "accapacity", Attributes::ACCapacity::Id, credsIssuerConfig), // + make_unique(Id, "acrefrigerant-type", Attributes::ACRefrigerantType::Id, credsIssuerConfig), // + make_unique(Id, "accompressor-type", Attributes::ACCompressorType::Id, credsIssuerConfig), // + make_unique(Id, "acerror-code", Attributes::ACErrorCode::Id, credsIssuerConfig), // + make_unique(Id, "aclouver-position", Attributes::ACLouverPosition::Id, credsIssuerConfig), // + make_unique(Id, "accoil-temperature", Attributes::ACCoilTemperature::Id, credsIssuerConfig), // + make_unique(Id, "accapacityformat", Attributes::ACCapacityformat::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "hvacsystem-type-configuration", 0, UINT8_MAX, + Attributes::HVACSystemTypeConfiguration::Id, credsIssuerConfig), // + make_unique>(Id, "local-temperature-calibration", INT8_MIN, INT8_MAX, + Attributes::LocalTemperatureCalibration::Id, credsIssuerConfig), // + make_unique>(Id, "occupied-cooling-setpoint", INT16_MIN, INT16_MAX, + Attributes::OccupiedCoolingSetpoint::Id, credsIssuerConfig), // + make_unique>(Id, "occupied-heating-setpoint", INT16_MIN, INT16_MAX, + Attributes::OccupiedHeatingSetpoint::Id, credsIssuerConfig), // + make_unique>(Id, "unoccupied-cooling-setpoint", INT16_MIN, INT16_MAX, + Attributes::UnoccupiedCoolingSetpoint::Id, credsIssuerConfig), // + make_unique>(Id, "unoccupied-heating-setpoint", INT16_MIN, INT16_MAX, + Attributes::UnoccupiedHeatingSetpoint::Id, credsIssuerConfig), // + make_unique>(Id, "min-heat-setpoint-limit", INT16_MIN, INT16_MAX, + Attributes::MinHeatSetpointLimit::Id, credsIssuerConfig), // + make_unique>(Id, "max-heat-setpoint-limit", INT16_MIN, INT16_MAX, + Attributes::MaxHeatSetpointLimit::Id, credsIssuerConfig), // + make_unique>(Id, "min-cool-setpoint-limit", INT16_MIN, INT16_MAX, + Attributes::MinCoolSetpointLimit::Id, credsIssuerConfig), // + make_unique>(Id, "max-cool-setpoint-limit", INT16_MIN, INT16_MAX, + Attributes::MaxCoolSetpointLimit::Id, credsIssuerConfig), // + make_unique>(Id, "min-setpoint-dead-band", INT8_MIN, INT8_MAX, Attributes::MinSetpointDeadBand::Id, + credsIssuerConfig), // + make_unique>(Id, "remote-sensing", 0, UINT8_MAX, Attributes::RemoteSensing::Id, + credsIssuerConfig), // + make_unique>( + Id, "control-sequence-of-operation", 0, UINT8_MAX, Attributes::ControlSequenceOfOperation::Id, credsIssuerConfig), // + make_unique>(Id, "system-mode", 0, UINT8_MAX, Attributes::SystemMode::Id, credsIssuerConfig), // + make_unique>(Id, "temperature-setpoint-hold", 0, UINT8_MAX, Attributes::TemperatureSetpointHold::Id, + credsIssuerConfig), // + make_unique>>( + Id, "temperature-setpoint-hold-duration", 0, UINT16_MAX, Attributes::TemperatureSetpointHoldDuration::Id, + credsIssuerConfig), // + make_unique>(Id, "thermostat-programming-operation-mode", 0, UINT8_MAX, + Attributes::ThermostatProgrammingOperationMode::Id, credsIssuerConfig), // + make_unique>>(Id, "occupied-setback", 0, UINT8_MAX, + Attributes::OccupiedSetback::Id, credsIssuerConfig), // + make_unique>>( + Id, "unoccupied-setback", 0, UINT8_MAX, Attributes::UnoccupiedSetback::Id, credsIssuerConfig), // + make_unique>(Id, "emergency-heat-delta", 0, UINT8_MAX, Attributes::EmergencyHeatDelta::Id, + credsIssuerConfig), // + make_unique>(Id, "actype", 0, UINT8_MAX, Attributes::ACType::Id, credsIssuerConfig), // + make_unique>(Id, "accapacity", 0, UINT16_MAX, Attributes::ACCapacity::Id, credsIssuerConfig), // + make_unique>(Id, "acrefrigerant-type", 0, UINT8_MAX, Attributes::ACRefrigerantType::Id, + credsIssuerConfig), // + make_unique>(Id, "accompressor-type", 0, UINT8_MAX, Attributes::ACCompressorType::Id, + credsIssuerConfig), // + make_unique>(Id, "acerror-code", 0, UINT32_MAX, Attributes::ACErrorCode::Id, credsIssuerConfig), // + make_unique>(Id, "aclouver-position", 0, UINT8_MAX, Attributes::ACLouverPosition::Id, + credsIssuerConfig), // + make_unique>(Id, "accapacityformat", 0, UINT8_MAX, Attributes::ACCapacityformat::Id, + 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, "picooling-demand", Attributes::PICoolingDemand::Id, credsIssuerConfig), // + make_unique(Id, "piheating-demand", Attributes::PIHeatingDemand::Id, credsIssuerConfig), // + make_unique(Id, "hvacsystem-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, "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, "occupied-setback", Attributes::OccupiedSetback::Id, credsIssuerConfig), // + make_unique(Id, "occupied-setback-min", Attributes::OccupiedSetbackMin::Id, credsIssuerConfig), // + make_unique(Id, "occupied-setback-max", Attributes::OccupiedSetbackMax::Id, credsIssuerConfig), // + make_unique(Id, "unoccupied-setback", Attributes::UnoccupiedSetback::Id, credsIssuerConfig), // + make_unique(Id, "unoccupied-setback-min", Attributes::UnoccupiedSetbackMin::Id, credsIssuerConfig), // + make_unique(Id, "unoccupied-setback-max", Attributes::UnoccupiedSetbackMax::Id, credsIssuerConfig), // + make_unique(Id, "emergency-heat-delta", Attributes::EmergencyHeatDelta::Id, credsIssuerConfig), // + make_unique(Id, "actype", Attributes::ACType::Id, credsIssuerConfig), // + make_unique(Id, "accapacity", Attributes::ACCapacity::Id, credsIssuerConfig), // + make_unique(Id, "acrefrigerant-type", Attributes::ACRefrigerantType::Id, credsIssuerConfig), // + make_unique(Id, "accompressor-type", Attributes::ACCompressorType::Id, credsIssuerConfig), // + make_unique(Id, "acerror-code", Attributes::ACErrorCode::Id, credsIssuerConfig), // + make_unique(Id, "aclouver-position", Attributes::ACLouverPosition::Id, credsIssuerConfig), // + make_unique(Id, "accoil-temperature", Attributes::ACCoilTemperature::Id, credsIssuerConfig), // + make_unique(Id, "accapacityformat", Attributes::ACCapacityformat::Id, credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -15226,11 +11089,11 @@ void registerClusterTotalColiformBacteriaConcentrationMeasurement(Commands & com commands.Register(clusterName, clusterCommands); } -void registerClusterTurbidityConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterFanControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::TurbidityConcentrationMeasurement; + using namespace chip::app::Clusters::FanControl; - const char * clusterName = "TurbidityConcentrationMeasurement"; + const char * clusterName = "FanControl"; commands_list clusterCommands = { // @@ -15240,22 +11103,46 @@ void registerClusterTurbidityConcentrationMeasurement(Commands & commands, Crede // // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "fan-mode", Attributes::FanMode::Id, credsIssuerConfig), // + make_unique(Id, "fan-mode-sequence", Attributes::FanModeSequence::Id, credsIssuerConfig), // + make_unique(Id, "percent-setting", Attributes::PercentSetting::Id, credsIssuerConfig), // + make_unique(Id, "percent-current", Attributes::PercentCurrent::Id, credsIssuerConfig), // + make_unique(Id, "speed-max", Attributes::SpeedMax::Id, credsIssuerConfig), // + make_unique(Id, "speed-setting", Attributes::SpeedSetting::Id, credsIssuerConfig), // + make_unique(Id, "speed-current", Attributes::SpeedCurrent::Id, credsIssuerConfig), // + make_unique(Id, "rock-support", Attributes::RockSupport::Id, credsIssuerConfig), // + make_unique(Id, "rock-setting", Attributes::RockSetting::Id, credsIssuerConfig), // + make_unique(Id, "wind-support", Attributes::WindSupport::Id, credsIssuerConfig), // + make_unique(Id, "wind-setting", Attributes::WindSetting::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "fan-mode", 0, UINT8_MAX, + Attributes::FanMode::Id, credsIssuerConfig), // + make_unique>( + Id, "fan-mode-sequence", 0, UINT8_MAX, Attributes::FanModeSequence::Id, credsIssuerConfig), // + make_unique>>(Id, "percent-setting", 0, UINT8_MAX, + Attributes::PercentSetting::Id, credsIssuerConfig), // + make_unique>>(Id, "speed-setting", 0, UINT8_MAX, + Attributes::SpeedSetting::Id, credsIssuerConfig), // + make_unique>(Id, "rock-setting", 0, UINT8_MAX, Attributes::RockSetting::Id, credsIssuerConfig), // + make_unique>(Id, "wind-setting", 0, UINT8_MAX, Attributes::WindSetting::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, "fan-mode", Attributes::FanMode::Id, credsIssuerConfig), // + make_unique(Id, "fan-mode-sequence", Attributes::FanModeSequence::Id, credsIssuerConfig), // + make_unique(Id, "percent-setting", Attributes::PercentSetting::Id, credsIssuerConfig), // + make_unique(Id, "percent-current", Attributes::PercentCurrent::Id, credsIssuerConfig), // + make_unique(Id, "speed-max", Attributes::SpeedMax::Id, credsIssuerConfig), // + make_unique(Id, "speed-setting", Attributes::SpeedSetting::Id, credsIssuerConfig), // + make_unique(Id, "speed-current", Attributes::SpeedCurrent::Id, credsIssuerConfig), // + make_unique(Id, "rock-support", Attributes::RockSupport::Id, credsIssuerConfig), // + make_unique(Id, "rock-setting", Attributes::RockSetting::Id, credsIssuerConfig), // + make_unique(Id, "wind-support", Attributes::WindSupport::Id, credsIssuerConfig), // + make_unique(Id, "wind-setting", Attributes::WindSetting::Id, credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -15270,11 +11157,11 @@ void registerClusterTurbidityConcentrationMeasurement(Commands & commands, Crede commands.Register(clusterName, clusterCommands); } -void registerClusterCopperConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterThermostatUserInterfaceConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::CopperConcentrationMeasurement; + using namespace chip::app::Clusters::ThermostatUserInterfaceConfiguration; - const char * clusterName = "CopperConcentrationMeasurement"; + const char * clusterName = "ThermostatUserInterfaceConfiguration"; commands_list clusterCommands = { // @@ -15284,22 +11171,29 @@ void registerClusterCopperConcentrationMeasurement(Commands & commands, Credenti // // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "temperature-display-mode", 0, UINT8_MAX, Attributes::TemperatureDisplayMode::Id, + credsIssuerConfig), // + make_unique>(Id, "keypad-lockout", 0, UINT8_MAX, Attributes::KeypadLockout::Id, + credsIssuerConfig), // + make_unique>(Id, "schedule-programming-visibility", 0, UINT8_MAX, + Attributes::ScheduleProgrammingVisibility::Id, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -15314,36 +11208,188 @@ void registerClusterCopperConcentrationMeasurement(Commands & commands, Credenti commands.Register(clusterName, clusterCommands); } -void registerClusterLeadConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterColorControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::LeadConcentrationMeasurement; + using namespace chip::app::Clusters::ColorControl; - const char * clusterName = "LeadConcentrationMeasurement"; + const char * clusterName = "ColorControl"; 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), // // // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "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, "options", Attributes::Options::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-mireds", Attributes::ColorTempPhysicalMinMireds::Id, + credsIssuerConfig), // + make_unique(Id, "color-temp-physical-max-mireds", Attributes::ColorTempPhysicalMaxMireds::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "options", 0, UINT8_MAX, Attributes::Options::Id, credsIssuerConfig), // + make_unique>(Id, "white-point-x", 0, UINT16_MAX, Attributes::WhitePointX::Id, + credsIssuerConfig), // + make_unique>(Id, "white-point-y", 0, UINT16_MAX, Attributes::WhitePointY::Id, + credsIssuerConfig), // + make_unique>(Id, "color-point-rx", 0, UINT16_MAX, Attributes::ColorPointRX::Id, + credsIssuerConfig), // + make_unique>(Id, "color-point-ry", 0, UINT16_MAX, Attributes::ColorPointRY::Id, + credsIssuerConfig), // + make_unique>>( + Id, "color-point-rintensity", 0, UINT8_MAX, Attributes::ColorPointRIntensity::Id, credsIssuerConfig), // + make_unique>(Id, "color-point-gx", 0, UINT16_MAX, Attributes::ColorPointGX::Id, + credsIssuerConfig), // + make_unique>(Id, "color-point-gy", 0, UINT16_MAX, Attributes::ColorPointGY::Id, + credsIssuerConfig), // + make_unique>>( + Id, "color-point-gintensity", 0, UINT8_MAX, Attributes::ColorPointGIntensity::Id, credsIssuerConfig), // + make_unique>(Id, "color-point-bx", 0, UINT16_MAX, Attributes::ColorPointBX::Id, + credsIssuerConfig), // + make_unique>(Id, "color-point-by", 0, UINT16_MAX, Attributes::ColorPointBY::Id, + credsIssuerConfig), // + make_unique>>( + Id, "color-point-bintensity", 0, UINT8_MAX, Attributes::ColorPointBIntensity::Id, credsIssuerConfig), // + make_unique>(Id, "start-up-color-temperature-mireds", 0, UINT16_MAX, + Attributes::StartUpColorTemperatureMireds::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, "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, "options", Attributes::Options::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-mireds", Attributes::ColorTempPhysicalMinMireds::Id, + credsIssuerConfig), // + make_unique(Id, "color-temp-physical-max-mireds", Attributes::ColorTempPhysicalMaxMireds::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -15358,11 +11404,11 @@ void registerClusterLeadConcentrationMeasurement(Commands & commands, Credential commands.Register(clusterName, clusterCommands); } -void registerClusterManganeseConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterBallastConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::ManganeseConcentrationMeasurement; + using namespace chip::app::Clusters::BallastConfiguration; - const char * clusterName = "ManganeseConcentrationMeasurement"; + const char * clusterName = "BallastConfiguration"; commands_list clusterCommands = { // @@ -15372,22 +11418,62 @@ void registerClusterManganeseConcentrationMeasurement(Commands & commands, Crede // // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, 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, "intrinsic-balance-factor", Attributes::IntrinsicBalanceFactor::Id, credsIssuerConfig), // + make_unique(Id, "ballast-factor-adjustment", Attributes::BallastFactorAdjustment::Id, credsIssuerConfig), // + make_unique(Id, "lamp-quantity", Attributes::LampQuantity::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "min-level", 0, UINT8_MAX, Attributes::MinLevel::Id, credsIssuerConfig), // + make_unique>(Id, "max-level", 0, UINT8_MAX, Attributes::MaxLevel::Id, credsIssuerConfig), // + make_unique>>( + Id, "intrinsic-balance-factor", 0, UINT8_MAX, Attributes::IntrinsicBalanceFactor::Id, credsIssuerConfig), // + make_unique>>( + Id, "ballast-factor-adjustment", 0, UINT8_MAX, Attributes::BallastFactorAdjustment::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", 0, UINT32_MAX, + Attributes::LampRatedHours::Id, credsIssuerConfig), // + make_unique>>(Id, "lamp-burn-hours", 0, UINT32_MAX, + Attributes::LampBurnHours::Id, credsIssuerConfig), // + make_unique>(Id, "lamp-alarm-mode", 0, UINT8_MAX, Attributes::LampAlarmMode::Id, + credsIssuerConfig), // + make_unique>>( + Id, "lamp-burn-hours-trip-point", 0, UINT32_MAX, Attributes::LampBurnHoursTripPoint::Id, 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, "intrinsic-balance-factor", Attributes::IntrinsicBalanceFactor::Id, + credsIssuerConfig), // + make_unique(Id, "ballast-factor-adjustment", Attributes::BallastFactorAdjustment::Id, + credsIssuerConfig), // + make_unique(Id, "lamp-quantity", Attributes::LampQuantity::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -15402,11 +11488,11 @@ void registerClusterManganeseConcentrationMeasurement(Commands & commands, Crede commands.Register(clusterName, clusterCommands); } -void registerClusterSulfateConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterIlluminanceMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::SulfateConcentrationMeasurement; + using namespace chip::app::Clusters::IlluminanceMeasurement; - const char * clusterName = "SulfateConcentrationMeasurement"; + const char * clusterName = "IlluminanceMeasurement"; commands_list clusterCommands = { // @@ -15421,6 +11507,7 @@ void registerClusterSulfateConcentrationMeasurement(Commands & commands, Credent 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -15432,6 +11519,7 @@ void registerClusterSulfateConcentrationMeasurement(Commands & commands, Credent 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -15446,11 +11534,11 @@ void registerClusterSulfateConcentrationMeasurement(Commands & commands, Credent commands.Register(clusterName, clusterCommands); } -void registerClusterBromodichloromethaneConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterTemperatureMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::BromodichloromethaneConcentrationMeasurement; + using namespace chip::app::Clusters::TemperatureMeasurement; - const char * clusterName = "BromodichloromethaneConcentrationMeasurement"; + const char * clusterName = "TemperatureMeasurement"; commands_list clusterCommands = { // @@ -15490,11 +11578,11 @@ void registerClusterBromodichloromethaneConcentrationMeasurement(Commands & comm commands.Register(clusterName, clusterCommands); } -void registerClusterBromoformConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterPressureMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::BromoformConcentrationMeasurement; + using namespace chip::app::Clusters::PressureMeasurement; - const char * clusterName = "BromoformConcentrationMeasurement"; + const char * clusterName = "PressureMeasurement"; commands_list clusterCommands = { // @@ -15509,6 +11597,11 @@ void registerClusterBromoformConcentrationMeasurement(Commands & commands, Crede 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -15520,6 +11613,11 @@ void registerClusterBromoformConcentrationMeasurement(Commands & commands, Crede 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -15534,11 +11632,11 @@ void registerClusterBromoformConcentrationMeasurement(Commands & commands, Crede commands.Register(clusterName, clusterCommands); } -void registerClusterChlorodibromomethaneConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterFlowMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::ChlorodibromomethaneConcentrationMeasurement; + using namespace chip::app::Clusters::FlowMeasurement; - const char * clusterName = "ChlorodibromomethaneConcentrationMeasurement"; + const char * clusterName = "FlowMeasurement"; commands_list clusterCommands = { // @@ -15578,11 +11676,11 @@ void registerClusterChlorodibromomethaneConcentrationMeasurement(Commands & comm commands.Register(clusterName, clusterCommands); } -void registerClusterChloroformConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterRelativeHumidityMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::ChloroformConcentrationMeasurement; + using namespace chip::app::Clusters::RelativeHumidityMeasurement; - const char * clusterName = "ChloroformConcentrationMeasurement"; + const char * clusterName = "RelativeHumidityMeasurement"; commands_list clusterCommands = { // @@ -15622,11 +11720,11 @@ void registerClusterChloroformConcentrationMeasurement(Commands & commands, Cred commands.Register(clusterName, clusterCommands); } -void registerClusterSodiumConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterOccupancySensing(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::SodiumConcentrationMeasurement; + using namespace chip::app::Clusters::OccupancySensing; - const char * clusterName = "SodiumConcentrationMeasurement"; + const char * clusterName = "OccupancySensing"; commands_list clusterCommands = { // @@ -15636,22 +11734,76 @@ void registerClusterSodiumConcentrationMeasurement(Commands & commands, Credenti // // 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "pir-occupied-to-unoccupied-delay", 0, UINT16_MAX, + Attributes::PirOccupiedToUnoccupiedDelay::Id, credsIssuerConfig), // + make_unique>(Id, "pir-unoccupied-to-occupied-delay", 0, UINT16_MAX, + Attributes::PirUnoccupiedToOccupiedDelay::Id, credsIssuerConfig), // + make_unique>(Id, "pir-unoccupied-to-occupied-threshold", 0, UINT8_MAX, + Attributes::PirUnoccupiedToOccupiedThreshold::Id, credsIssuerConfig), // + make_unique>(Id, "ultrasonic-occupied-to-unoccupied-delay", 0, UINT16_MAX, + Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id, credsIssuerConfig), // + make_unique>(Id, "ultrasonic-unoccupied-to-occupied-delay", 0, UINT16_MAX, + Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id, credsIssuerConfig), // + make_unique>(Id, "ultrasonic-unoccupied-to-occupied-threshold", 0, UINT8_MAX, + Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id, credsIssuerConfig), // + make_unique>(Id, "physical-contact-occupied-to-unoccupied-delay", 0, UINT16_MAX, + Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id, credsIssuerConfig), // + make_unique>(Id, "physical-contact-unoccupied-to-occupied-delay", 0, UINT16_MAX, + Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id, credsIssuerConfig), // + make_unique>(Id, "physical-contact-unoccupied-to-occupied-threshold", 0, UINT8_MAX, + Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::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, "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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // @@ -16194,208 +12346,6 @@ void registerClusterAccountLogin(Commands & commands, CredentialIssuerCommands * commands.Register(clusterName, clusterCommands); } -void registerClusterApplianceIdentification(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) -{ - using namespace chip::app::Clusters::ApplianceIdentification; - - const char * clusterName = "ApplianceIdentification"; - - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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 registerClusterMeterIdentification(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) -{ - using namespace chip::app::Clusters::MeterIdentification; - - const char * clusterName = "MeterIdentification"; - - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - // - // Attributes - // - 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "customer-name", Attributes::CustomerName::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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 registerClusterApplianceEventsAndAlert(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) -{ - using namespace chip::app::Clusters::ApplianceEventsAndAlert; - - const char * clusterName = "ApplianceEventsAndAlert"; - - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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, "log-max-size", Attributes::LogMaxSize::Id, credsIssuerConfig), // - make_unique(Id, "log-queue-max-size", Attributes::LogQueueMaxSize::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::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 registerClusterElectricalMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { using namespace chip::app::Clusters::ElectricalMeasurement; @@ -17191,24 +13141,17 @@ void registerClusterAny(Commands & commands, CredentialIssuerCommands * credsIss void registerClusters(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { registerClusterAny(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); registerClusterAccessControl(commands, credsIssuerConfig); - registerClusterPollControl(commands, credsIssuerConfig); registerClusterBridgedActions(commands, credsIssuerConfig); registerClusterBasic(commands, credsIssuerConfig); registerClusterOtaSoftwareUpdateProvider(commands, credsIssuerConfig); @@ -17239,14 +13182,12 @@ void registerClusters(Commands & commands, CredentialIssuerCommands * credsIssue 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); registerClusterColorControl(commands, credsIssuerConfig); registerClusterBallastConfiguration(commands, credsIssuerConfig); @@ -17256,36 +13197,6 @@ void registerClusters(Commands & commands, CredentialIssuerCommands * credsIssue 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); registerClusterWakeOnLan(commands, credsIssuerConfig); registerClusterChannel(commands, credsIssuerConfig); registerClusterTargetNavigator(commands, credsIssuerConfig); @@ -17298,10 +13209,6 @@ void registerClusters(Commands & commands, CredentialIssuerCommands * credsIssue registerClusterApplicationLauncher(commands, credsIssuerConfig); registerClusterApplicationBasic(commands, credsIssuerConfig); registerClusterAccountLogin(commands, credsIssuerConfig); - registerClusterApplianceIdentification(commands, credsIssuerConfig); - registerClusterMeterIdentification(commands, credsIssuerConfig); - registerClusterApplianceEventsAndAlert(commands, credsIssuerConfig); - registerClusterApplianceStatistics(commands, credsIssuerConfig); registerClusterElectricalMeasurement(commands, credsIssuerConfig); registerClusterTestCluster(commands, credsIssuerConfig); registerClusterSubscriptions(commands, credsIssuerConfig); diff --git a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp index 904fd3c16aa795..30989883b385c1 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp @@ -1535,45 +1535,6 @@ void ComplexArgumentParser::Finalize(chip::app::Clusters::MediaPlayback::Structs ComplexArgumentParser::Finalize(request.updatedAt); ComplexArgumentParser::Finalize(request.position); } -CHIP_ERROR ComplexArgumentParser::Setup(const char * label, - chip::app::Clusters::PowerProfile::Structs::PowerProfileRecord::Type & request, - Json::Value & value) -{ - VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); - - ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PowerProfileRecord.powerProfileId", "powerProfileId", - value.isMember("powerProfileId"))); - ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PowerProfileRecord.energyPhaseId", "energyPhaseId", - value.isMember("energyPhaseId"))); - ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( - "PowerProfileRecord.powerProfileRemoteControl", "powerProfileRemoteControl", value.isMember("powerProfileRemoteControl"))); - ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PowerProfileRecord.powerProfileState", "powerProfileState", - value.isMember("powerProfileState"))); - - char labelWithMember[kMaxLabelLength]; - snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "powerProfileId"); - ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.powerProfileId, value["powerProfileId"])); - - snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "energyPhaseId"); - ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.energyPhaseId, value["energyPhaseId"])); - - snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "powerProfileRemoteControl"); - ReturnErrorOnFailure( - ComplexArgumentParser::Setup(labelWithMember, request.powerProfileRemoteControl, value["powerProfileRemoteControl"])); - - snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "powerProfileState"); - ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.powerProfileState, value["powerProfileState"])); - - return CHIP_NO_ERROR; -} - -void ComplexArgumentParser::Finalize(chip::app::Clusters::PowerProfile::Structs::PowerProfileRecord::Type & request) -{ - ComplexArgumentParser::Finalize(request.powerProfileId); - ComplexArgumentParser::Finalize(request.energyPhaseId); - ComplexArgumentParser::Finalize(request.powerProfileRemoteControl); - ComplexArgumentParser::Finalize(request.powerProfileState); -} CHIP_ERROR ComplexArgumentParser::Setup(const char * label, chip::app::Clusters::OtaSoftwareUpdateRequestor::Structs::ProviderLocation::Type & request, Json::Value & value) @@ -1674,32 +1635,6 @@ void ComplexArgumentParser::Finalize(chip::app::Clusters::ThreadNetworkDiagnosti ComplexArgumentParser::Finalize(request.allocated); ComplexArgumentParser::Finalize(request.linkEstablished); } -CHIP_ERROR ComplexArgumentParser::Setup(const char * label, - chip::app::Clusters::PowerProfile::Structs::ScheduledPhase::Type & request, - Json::Value & value) -{ - VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); - - ReturnErrorOnFailure( - ComplexArgumentParser::EnsureMemberExist("ScheduledPhase.energyPhaseId", "energyPhaseId", value.isMember("energyPhaseId"))); - ReturnErrorOnFailure( - ComplexArgumentParser::EnsureMemberExist("ScheduledPhase.scheduledTime", "scheduledTime", value.isMember("scheduledTime"))); - - char labelWithMember[kMaxLabelLength]; - snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "energyPhaseId"); - ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.energyPhaseId, value["energyPhaseId"])); - - snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "scheduledTime"); - ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.scheduledTime, value["scheduledTime"])); - - return CHIP_NO_ERROR; -} - -void ComplexArgumentParser::Finalize(chip::app::Clusters::PowerProfile::Structs::ScheduledPhase::Type & request) -{ - ComplexArgumentParser::Finalize(request.energyPhaseId); - ComplexArgumentParser::Finalize(request.scheduledTime); -} CHIP_ERROR ComplexArgumentParser::Setup(const char * label, chip::app::Clusters::ThreadNetworkDiagnostics::Structs::SecurityPolicy::Type & request, Json::Value & value) @@ -2175,55 +2110,6 @@ void ComplexArgumentParser::Finalize(chip::app::Clusters::SoftwareDiagnostics::S ComplexArgumentParser::Finalize(request.stackFreeMinimum); ComplexArgumentParser::Finalize(request.stackSize); } -CHIP_ERROR ComplexArgumentParser::Setup(const char * label, - chip::app::Clusters::PowerProfile::Structs::TransferredPhase::Type & request, - Json::Value & value) -{ - VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); - - ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("TransferredPhase.energyPhaseId", "energyPhaseId", - value.isMember("energyPhaseId"))); - ReturnErrorOnFailure( - ComplexArgumentParser::EnsureMemberExist("TransferredPhase.macroPhaseId", "macroPhaseId", value.isMember("macroPhaseId"))); - ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("TransferredPhase.expectedDuration", "expectedDuration", - value.isMember("expectedDuration"))); - ReturnErrorOnFailure( - ComplexArgumentParser::EnsureMemberExist("TransferredPhase.peakPower", "peakPower", value.isMember("peakPower"))); - ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("TransferredPhase.energy", "energy", value.isMember("energy"))); - ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("TransferredPhase.maxActivationDelay", "maxActivationDelay", - value.isMember("maxActivationDelay"))); - - char labelWithMember[kMaxLabelLength]; - snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "energyPhaseId"); - ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.energyPhaseId, value["energyPhaseId"])); - - snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "macroPhaseId"); - ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.macroPhaseId, value["macroPhaseId"])); - - snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "expectedDuration"); - ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.expectedDuration, value["expectedDuration"])); - - snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "peakPower"); - ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.peakPower, value["peakPower"])); - - snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "energy"); - ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.energy, value["energy"])); - - snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "maxActivationDelay"); - ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.maxActivationDelay, value["maxActivationDelay"])); - - return CHIP_NO_ERROR; -} - -void ComplexArgumentParser::Finalize(chip::app::Clusters::PowerProfile::Structs::TransferredPhase::Type & request) -{ - ComplexArgumentParser::Finalize(request.energyPhaseId); - ComplexArgumentParser::Finalize(request.macroPhaseId); - ComplexArgumentParser::Finalize(request.expectedDuration); - ComplexArgumentParser::Finalize(request.peakPower); - ComplexArgumentParser::Finalize(request.energy); - ComplexArgumentParser::Finalize(request.maxActivationDelay); -} CHIP_ERROR ComplexArgumentParser::Setup(const char * label, chip::app::Clusters::NetworkCommissioning::Structs::WiFiInterfaceScanResult::Type & request, Json::Value & value) diff --git a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h index cf38450a1e6358..026c9e018ec869 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h @@ -178,10 +178,6 @@ static CHIP_ERROR Setup(const char * label, chip::app::Clusters::MediaPlayback:: Json::Value & value); static void Finalize(chip::app::Clusters::MediaPlayback::Structs::PlaybackPosition::Type & request); -static CHIP_ERROR Setup(const char * label, chip::app::Clusters::PowerProfile::Structs::PowerProfileRecord::Type & request, - Json::Value & value); - -static void Finalize(chip::app::Clusters::PowerProfile::Structs::PowerProfileRecord::Type & request); static CHIP_ERROR Setup(const char * label, chip::app::Clusters::OtaSoftwareUpdateRequestor::Structs::ProviderLocation::Type & request, Json::Value & value); @@ -191,10 +187,6 @@ static CHIP_ERROR Setup(const char * label, chip::app::Clusters::ThreadNetworkDi Json::Value & value); static void Finalize(chip::app::Clusters::ThreadNetworkDiagnostics::Structs::RouteTable::Type & request); -static CHIP_ERROR Setup(const char * label, chip::app::Clusters::PowerProfile::Structs::ScheduledPhase::Type & request, - Json::Value & value); - -static void Finalize(chip::app::Clusters::PowerProfile::Structs::ScheduledPhase::Type & request); static CHIP_ERROR Setup(const char * label, chip::app::Clusters::ThreadNetworkDiagnostics::Structs::SecurityPolicy::Type & request, Json::Value & value); @@ -244,10 +236,6 @@ static CHIP_ERROR Setup(const char * label, chip::app::Clusters::SoftwareDiagnos Json::Value & value); static void Finalize(chip::app::Clusters::SoftwareDiagnostics::Structs::ThreadMetrics::Type & request); -static CHIP_ERROR Setup(const char * label, chip::app::Clusters::PowerProfile::Structs::TransferredPhase::Type & request, - Json::Value & value); - -static void Finalize(chip::app::Clusters::PowerProfile::Structs::TransferredPhase::Type & request); static CHIP_ERROR Setup(const char * label, chip::app::Clusters::NetworkCommissioning::Structs::WiFiInterfaceScanResult::Type & request, Json::Value & value); 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 f74a43dc5a4517..dd46baf9a08ba2 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp @@ -1633,46 +1633,6 @@ 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 chip::app::Clusters::PowerProfile::Structs::PowerProfileRecord::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - { - CHIP_ERROR err = LogValue("PowerProfileId", indent + 1, value.powerProfileId); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'PowerProfileId'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("EnergyPhaseId", indent + 1, value.energyPhaseId); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'EnergyPhaseId'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("PowerProfileRemoteControl", indent + 1, value.powerProfileRemoteControl); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'PowerProfileRemoteControl'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("PowerProfileState", indent + 1, value.powerProfileState); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'PowerProfileState'"); - return err; - } - } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const chip::app::Clusters::OtaSoftwareUpdateRequestor::Structs::ProviderLocation::DecodableType & value) @@ -1795,30 +1755,6 @@ DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::PowerProfile::Structs::ScheduledPhase::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - { - CHIP_ERROR err = LogValue("EnergyPhaseId", indent + 1, value.energyPhaseId); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'EnergyPhaseId'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("ScheduledTime", indent + 1, value.scheduledTime); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ScheduledTime'"); - return err; - } - } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const chip::app::Clusters::ThreadNetworkDiagnostics::Structs::SecurityPolicy::DecodableType & value) @@ -2327,62 +2263,6 @@ 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 chip::app::Clusters::PowerProfile::Structs::TransferredPhase::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - { - CHIP_ERROR err = LogValue("EnergyPhaseId", indent + 1, value.energyPhaseId); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'EnergyPhaseId'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("MacroPhaseId", indent + 1, value.macroPhaseId); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MacroPhaseId'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("ExpectedDuration", indent + 1, value.expectedDuration); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ExpectedDuration'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("PeakPower", indent + 1, value.peakPower); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'PeakPower'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("Energy", indent + 1, value.energy); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Energy'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("MaxActivationDelay", indent + 1, value.maxActivationDelay); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MaxActivationDelay'"); - return err; - } - } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const chip::app::Clusters::NetworkCommissioning::Structs::WiFiInterfaceScanResult::DecodableType & value) 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 6b242164599fb5..03fffded018de1 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h @@ -99,14 +99,10 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::ContentLauncher::Structs::Parameter::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::MediaPlayback::Structs::PlaybackPosition::DecodableType & value); -static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::PowerProfile::Structs::PowerProfileRecord::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::OtaSoftwareUpdateRequestor::Structs::ProviderLocation::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::ThreadNetworkDiagnostics::Structs::RouteTable::DecodableType & value); -static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::PowerProfile::Structs::ScheduledPhase::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::ThreadNetworkDiagnostics::Structs::SecurityPolicy::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, @@ -132,8 +128,6 @@ LogValue(const char * label, size_t indent, const chip::app::Clusters::NetworkCommissioning::Structs::ThreadInterfaceScanResult::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::SoftwareDiagnostics::Structs::ThreadMetrics::DecodableType & value); -static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::PowerProfile::Structs::TransferredPhase::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::NetworkCommissioning::Structs::WiFiInterfaceScanResult::DecodableType & value); diff --git a/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h index d4790c3e65d354..56662a014f3e9c 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h @@ -35,24 +35,17 @@ /*----------------------------------------------------------------------------*\ | Cluster Name | ID | |---------------------------------------------------------------------+--------| -| 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 | | AccessControl | 0x001F | -| PollControl | 0x0020 | | BridgedActions | 0x0025 | | Basic | 0x0028 | | OtaSoftwareUpdateProvider | 0x0029 | @@ -83,14 +76,12 @@ | ProxyValid | 0x0044 | | BooleanState | 0x0045 | | ModeSelect | 0x0050 | -| ShadeConfiguration | 0x0100 | | DoorLock | 0x0101 | | WindowCovering | 0x0102 | | BarrierControl | 0x0103 | | PumpConfigurationAndControl | 0x0200 | | Thermostat | 0x0201 | | FanControl | 0x0202 | -| DehumidificationControl | 0x0203 | | ThermostatUserInterfaceConfiguration | 0x0204 | | ColorControl | 0x0300 | | BallastConfiguration | 0x0301 | @@ -100,36 +91,6 @@ | 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 | | WakeOnLan | 0x0503 | | Channel | 0x0504 | | TargetNavigator | 0x0505 | @@ -142,10 +103,6 @@ | ApplicationLauncher | 0x050C | | ApplicationBasic | 0x050D | | AccountLogin | 0x050E | -| ApplianceIdentification | 0x0B00 | -| MeterIdentification | 0x0B01 | -| ApplianceEventsAndAlert | 0x0B02 | -| ApplianceStatistics | 0x0B03 | | ElectricalMeasurement | 0x0B04 | | TestCluster | 0xFFF1FC05| \*----------------------------------------------------------------------------*/